Closed Bug 1036577 Opened 10 years ago Closed 10 years ago

[B2G][Keyboard] - Keyboard is slow to popup after the user taps on a text field on multiple apps

Categories

(Firefox OS Graveyard :: Gaia::System::Input Mgmt, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:2.0+, b2g-v1.4 unaffected, b2g-v2.0 verified, b2g-v2.1 verified)

VERIFIED FIXED
2.0 S6 (18july)
blocking-b2g 2.0+
Tracking Status
b2g-v1.4 --- unaffected
b2g-v2.0 --- verified
b2g-v2.1 --- verified

People

(Reporter: KTucker, Assigned: timdream)

References

Details

(Keywords: perf, regression, Whiteboard: [caf priority: p2][CR 690200][273MB-Flame-Support] [2.0-exploratory][c=progress p= s= u=2.0])

Attachments

(3 files)

Attached file Keyboardlogcat.txt
Description:
When the user taps on a text field, it takes the keyboard a good 3 to 5 seconds to pop up. 

Repro Steps:
1)  Updated Flame to Build ID: 20140708000322
2)  Make sure the Flame device is set to 273mb.
3)  Tap on the "Contacts" app.
4)  Tap on the "+" to add a contact.
5)  Tap on the "Name" text field and observe how long it takes for the keyboard to populate the screen. 

Actual:
The keyboard takes at least 3-5 seconds to pop up on the screen. 

Expected:
The keyboard appears almost instantly after the user taps on a text field. 

Environmental Variables
Device: Flame v2.0 
Build ID: 20140708000322
Gecko: https://hg.mozilla.org/releases/mozilla-aurora/rev/3f9d7a3a0b7b
Gaia: e935f4ff190b76c70d9b2af8856c542a6e4a7546
Platform Version: 32.0a2
Firmware Version: v122
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Notes:
Repro frequency: 100%
See attached: Video, logcat
This issue also reproduces on the Flame 2.1(273mb)although it is intermittent. Sometimes the keyboard pops up almost instantly other times it takes 2-3 seconds after the user taps on a text field. 

Flame 2.1(273mb

Environmental Variables:
Device: Flame Master(273MB)
BuildID: 20140709040203
Gaia: 0f9f11d0a6dadb3ea27160204bbe911c1ad69a6f
Gecko: 196d05832e12
Version: 33.0a1 (Master) 
Firmware Version: v122
User Agent: Mozilla/5.0 (Mobile; rv:33.0) Gecko/33.0 Firefox/33.0

------------------------------------------------------------------------------------------------------------------

This issue does not reproduce on the Buri 2.1, Open C 2.1, Flame 2.0(512mb), Buri 2.0, Open C 2.0, Flame 1.4(273mb), Buri 1.4, Open C 1.4 or Flame Base v122(273mb). The keyboard pops up almost instantly after the user taps on a text field.

Buri 2.1

Environmental Variables:
Device: Buri Master
Build ID: 20140709073020
Gaia: c394b7b4205b6f1a6ca44915fc08650f3ad127ec
Gecko: 2d88803a0b9c
Version: 33.0a1 (Master)
Firmware Version: v1.2device.cfg
User Agent: Mozilla/5.0 (Mobile; rv:33.0) Gecko/33.0 Firefox/33.0

Open C 2.1

Environmental Variables:
Device: Open_C Master
Build ID: 20140708040218
Gaia: 740faa5d0060fb218b407cf224330654ddf833a5
Gecko: 465280604ea6
Version: 33.0a1 (Master)
Firmware Version: P821A10V1.0.0B06_LOG_DL
User Agent: Mozilla/5.0 (Mobile; rv:33.0) Gecko/33.0 Firefox/33.0

Flame 2.0(512mb)

Environmental Variables
Device: Flame v2.0 
Build ID: 20140708000322
Gecko: https://hg.mozilla.org/releases/mozilla-aurora/rev/3f9d7a3a0b7b
Gaia: e935f4ff190b76c70d9b2af8856c542a6e4a7546
Platform Version: 32.0a2
Firmware Version: v122
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Buri 2.0

Environmental Variables:
Device: Buri 2.0
Build ID: 20140709063007
Gaia: 1774027323bb072b4ebdfea9883572bcf2535c87
Gecko: 11b6493a7d8f
Version: 32.0a2 (2.0)
Firmware Version: v1.2device.cfg
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Open C 2.0

Environmental Variables:
Device: Open_C 2.0
Build ID: 20140708000322
Gaia: e935f4ff190b76c70d9b2af8856c542a6e4a7546
Gecko: 3f9d7a3a0b7b
Version: 32.0a2 (2.0)
Firmware Version: P821A10V1.0.0B06_LOG_DL
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Flame 1.4(273MB)

Environmental Variables:
Device: Flame 1.4
Build ID: 20140709003002
Gaia: b0e9b4bdb39c5eb93a6783a34624ffc84f62b126
Gecko: acf704e54e19
Version: 30.0 (1.4)
Firmware Version: v122
User Agent: Mozilla/5.0 (Mobile; rv:30.0) Gecko/30.0 Firefox/30.0

Buri 1.4

Environmental Variables:
Device: Buri 1.4
Build ID: 20140709003002
Gaia: b0e9b4bdb39c5eb93a6783a34624ffc84f62b126
Gecko: acf704e54e19
Version: 30.0 (1.4)
Firmware Version: v1.2device.cfg
User Agent: Mozilla/5.0 (Mobile; rv:30.0) Gecko/30.0 Firefox/30.0

Open C 1.4

Environmental Variables:
Device: Open_C 1.4
Build ID: 20140709000201
Gaia: b0e9b4bdb39c5eb93a6783a34624ffc84f62b126
Gecko: acf704e54e19
Version: 30.0 (1.4)
Firmware Version: P821A10V1.0.0B06_LOG_DL
User Agent: Mozilla/5.0 (Mobile; rv:30.0) Gecko/30.0 Firefox/30.0

Flame Base Image v.122(273mb)

Environmental Variables:
Device: Flame 1.3
Build ID: 20140616171114
Gaia: e1b7152715072d27e0880cdc6b637f82fa42bf4e
Gecko: e181a36ebafaa24e5390db9f597313406edfc794
Version: 28.0 (1.3)
Firmware Version: v122
User Agent: Mozilla/5.0 (Mobile; rv:28.0) Gecko/28.0 Firefox/28.0
Please note this issue was found on the Flame 2.0 on 273mb of memory.
Summary: [B2G][Keyboard] Keyboard is slow to popup after the user taps on a text field on multiple apps → [B2G][Keyboard] - Keyboard is slow to popup after the user taps on a text field on multiple apps
Attached video SlowKeyboard.mp4
Kevin - This is missing a blocking triage analysis.
Flags: needinfo?(ktucker)
The keyboard was appearing almost instantly when a user tapped on text field boxes in 1.4 so this is a regression. Nominating 2.0? since the user will be using the keyboard a lot in multiple apps and this appears to be bad performance.
blocking-b2g: --- → 2.0?
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
(In reply to ktucker from comment #5)
> The keyboard was appearing almost instantly when a user tapped on text field
> boxes in 1.4 so this is a regression. Nominating 2.0? since the user will be
> using the keyboard a lot in multiple apps and this appears to be bad
> performance.

I agree with this assessment - users are not patient and will tap multiple times in frustration; only compounding the issue
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
QA Contact: jmercado
This issue occurs on the earliest available Central Flame build when set to 273mb.

Environmental Variables:
Device: Flame Master
BuildID: 20140417000006
Gaia: 7591e9dc782ac2e97d63a96f9deb71c7b3588328
Gecko: e71ed4135461
Version: 31.0a1 (Master) 
Firmware Version: v122
User Agent: Mozilla/5.0 (Mobile; rv:31.0) Gecko/31.0 Firefox/31.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Regression window is unavailable as per comment 7
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell)
blocking-b2g: 2.0? → 2.0+
Keywords: perf
Tim - Can you assign?
Flags: needinfo?(timdream)
Whiteboard: [273MB-Flame-Support] [2.0-exploratory] → [273MB-Flame-Support] [2.0-exploratory]
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][lead-review+]
I took a video from my dupe bug 1038487 to show the slowness:   	http://youtu.be/HlECa7Owg4I
Whiteboard: [273MB-Flame-Support] [2.0-exploratory] → [273MB-Flame-Support] [2.0-exploratory][c=progress p= s= u=]
This is essentially the user-facing symptom of bug 1028247 and bug 970188. In those bugs we decided this shouldn't be a blocker because oop'd keyboard indeed save us more memory consumed by b2g process, and the re-launch time does not affect Flame under normal configurations.

If this is considered a blocker, we can revisit proposed solution in bug 1028247 and make the built-in keyboard app inproc. 

A Tarako feature was done to remove inproc keyboard from memorypressure event (essentially "OOM" a inproc app), I will investigate the re-launch time of inproc keyboard is faster than oop'd one. If that's still not acceptable we will simply never kill inporc keyboard.

Does that satisfy everyone?
Assignee: nobody → timdream
Status: NEW → ASSIGNED
Flags: needinfo?(timdream)
After making some stop watch measurement I found that there isn't any cold start-up time gain if we move the keyboard inproc. Therefore the only way to satisfy the requirement of this bug on a 273M config is to never kill the inproc keyboard app. I will submit a patch for that.
Target Milestone: --- → 2.0 S6 (18july)
Attachment #8456652 - Flags: review?(rlu)
Component: Gaia::Keyboard → Gaia::System::Input Mgmt
Comment on attachment 8456652 [details] [review]
mozilla-b2g:master PR#21790

The approach we took here is quite simple, so r+.
However, I still don't see whether testing Flame with 273 MB configuration is the hard requirement so that we have to make this change.
Attachment #8456652 - Flags: review?(rlu) → review+
Depends on: 1037736
Priority: -- → P1
Severity: normal → blocker
Whiteboard: [273MB-Flame-Support] [2.0-exploratory][c=progress p= s= u=] → [273MB-Flame-Support] [2.0-exploratory][c=progress p= s= u=2.0]
(In reply to Rudy Lu [:rudyl] from comment #16)
> Comment on attachment 8456652 [details] [review]
> mozilla-b2g:master PR#21790
> 
> The approach we took here is quite simple, so r+.
> However, I still don't see whether testing Flame with 273 MB configuration
> is the hard requirement so that we have to make this change.

We can address better approach once we have bug 1039171. In the mean time I am tired of being fool around.
master: https://github.com/mozilla-b2g/gaia/commit/ce3c8c456949d622124bd778883b29a9ba34f3cf
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [273MB-Flame-Support] [2.0-exploratory][c=progress p= s= u=2.0] → [CR 690200][273MB-Flame-Support] [2.0-exploratory][c=progress p= s= u=2.0]
Whiteboard: [CR 690200][273MB-Flame-Support] [2.0-exploratory][c=progress p= s= u=2.0] → [caf priority: p2][CR 690200][273MB-Flame-Support] [2.0-exploratory][c=progress p= s= u=2.0]
Depends on: 1042388
This issue is verified fixed on Flame 2.0 and 2.1.

Result: The keyboard pops up instantly when the user selects the text field.

Device: Flame 2.0 (319mb)(Kitkat Base)(Full Flash)
BuildID: 20141029000205
Gaia: 9f5b6f025e528fabfcc068782cb9b492cb51a7f9
Gecko: de8cfd54bf93
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 32.0 (2.0)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Device: Flame 2.1 (319mb)(Kitkat Base)(Full Flash)
BuildID: 20141029001202
Gaia: eb0aab0f13c78c7ac378ad860e865c4b6eaf669f
Gecko: 318019f80a8e
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 34.0 (2.1) 
Firmware Version: v188
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+][lead-review+] → [QAnalyst-Triage?][lead-review+]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?][lead-review+] → [QAnalyst-Triage+][lead-review+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: