Closed Bug 857907 Opened 11 years ago Closed 6 years ago

Rapid typing "clogs up" text entry, adding characters to input field in batches instead of individually.

Categories

(Firefox OS Graveyard :: Gaia::Keyboard, defect, P3)

ARM
Gonk (Firefox OS)
defect

Tracking

(tracking-b2g:backlog)

RESOLVED WONTFIX
tracking-b2g backlog

People

(Reporter: jcarpenter, Unassigned)

References

Details

(Keywords: perf, Whiteboard: [c= p=5 s= u=] ux-tracking)

Per the description, we seem to have an issue wherein rapid text entry starts to "clog up" (highly technical term!) the rendering of selected keys to the input field. Instead of appearing one-by-one, they are rendered in batches, starting with two, but increasing to ten or more as the user types faster and faster.

This video shot using the 1.1.0 3/30 build shows the phenomenon at it's worst (see the Stress Test segment at the end).

https://www.dropbox.com/s/0785zq5ijfznug8/FFOS_KeyboardCompAnalysis_20130331.zip

Expected: keys should render individually to the input field; never in batches.
Related to bug #827811, which is about hitting 140ms target for entry of text characters to input field after keyboard key touch end.
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → ARM
Jed please take a look at this after bug 857901.
Assignee: nobody → jld
Blocks: 835404
Whiteboard: u=user c=keyboard s=ux-most-wanted → ux-tracking
Whiteboard: ux-tracking → c= ux-tracking
Assignee: jld → nobody
Keywords: perf
Whiteboard: c= ux-tracking → c= , ux-tracking
Assignee: nobody → hub
Status: NEW → ASSIGNED
Josh,

I can't find the video. Dropbox say it can't be found.

You should be able to attach it (I hope it is not too big) to bugzilla.
Flags: needinfo?(jcarpenter)
Whiteboard: c= , ux-tracking → [c= p=3] ux-tracking
Whiteboard: [c= p=3] ux-tracking → [c= p=5] ux-tracking
Assignee: hub → nobody
Blocks: 1.3-keyboard
(In reply to Hubert Figuiere [:hub] from comment #3)
> Josh,
> 
> I can't find the video. Dropbox say it can't be found.
> 
> You should be able to attach it (I hope it is not too big) to bugzilla.

Sure thing: the full march 2013 video is here: https://mozilla.box.com/s/xocnmde87yt9c5uztv3a
Flags: needinfo?(jcarpenter)
Taking it as part of my perf work.
Assignee: nobody → janjongboom
Any progress here, Jan?
Flags: needinfo?(janjongboom)
Nope, haven't worked on it so far..
Flags: needinfo?(janjongboom)
Priority: -- → P3
Whiteboard: [c= p=5] ux-tracking → [c= p=5 s= u=] ux-tracking
Assignee: janjongboom → nobody
Status: ASSIGNED → NEW
With Jan's help, we have a testing dump log and node script to analyze the round trip between keyboard app invoking sendKey() and the content receiving the keyup event.
https://github.com/RudyLu/gaia/commits/keyboard/profile_sendKey

Usage:
 1. Apply the last patch of the above branch.
 2. > adb logcat -c && rm -rf analyze-trace.input && adb logcat > analyze-trace.input 
 3. Start to type on the keyboard while using "UI Test App" > UI > Keyboard.
 4. Run this node script to make some data out of it (analyze-trace.js)

Here is my test result with Gaia master on buri,
--
Total: 91 events
Min: 17 ms
Max: 93 ms
Avg: 40 ms

Jan, I hope you don't mind I put the testing code here, so that we could sync up on this issue.
As you could see from my test result, which took much less time than you said (about 150ms - 300ms), right?
Flags: needinfo?(janjongboom)
And this is the result I logged form Tarako, which seems much much worse than buri,
Total: 50 events
Min: 86 ms
Max: 2695 ms
Avg: 936 ms

Note: this is with suggestion on.
Yep, with the reflow patches that got uplifted to 1.3t it is a lot better on inputs without suggestions. However, it still reflows on special keys. With autosuggest on we basically reflow at least 3 times per keystroke so no wonder it goes completely mental on Tarako. Can you run the same run (with suggestions on) on Tarako with the patch in https://bugzilla.mozilla.org/show_bug.cgi?id=982269?
Flags: needinfo?(janjongboom) → needinfo?(rlu)
Here is the result with the patch in bug 982269, on Tarako,
--
Total: 45 events
Min: 43 ms
Max: 1533 ms
Avg: 594 ms

Much better, but still have Max > 1.5 s.
Flags: needinfo?(rlu)
Ah, maybe comment 13 does have the value to be referenced, since I found the latency has a great variance, and this depends on the typing speed.
If you type really fast, the delay could be more thand 3 - 5 seconds...
(In reply to Rudy Lu [:rudyl] from comment #14)
> Ah, maybe comment 13 does have the value to be referenced, since I found the
Obviously, I mean does *not* have the 
> latency has a great variance, and this depends on the typing speed.
> If you type really fast, the delay could be more thand 3 - 5 seconds...
I pushed some changes to that branch, all sync reflows should be gone now. Can you re-run?

(yay for timezone differences)
Flags: needinfo?(rlu)
Flags: needinfo?(rlu)
blocking-b2g: --- → backlog
blocking-b2g: backlog → ---
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.