Closed Bug 1012531 Opened 10 years ago Closed 6 years ago

[Keyboard] Make IMERender.draw() more efficient

Categories

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

ARM
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: timdream, Unassigned)

References

Details

(Keywords: perf, Whiteboard: [c=effect p=5 s= u=])

+++ This bug was initially created as a clone of Bug #970188 +++

For some reason people the IMERender.draw() function was written to be artificially runs it's callback async. This makes the total start-up time (all the way to last log) a little bit longer. I want to get rid of that with a additional change to call |window.resize()| before IMERender.draw().
After further analysis, I think what's needed is not combining the two parts of IMERender.draw() into one, but some how make it more efficient in using the DOM elements already created. For example, it currently try to render the entire keyboard again for the same layout just because it one needs candidate panel and the other don't.

We should also trim down # of DOM elements in the layout to make it more efficient too. According to measurement in bug 1013155 comment 5 it takes 347ms on Unagi (with rendering time considered).
Assignee: timdream → nobody
Summary: [Keyboard] Make IMERender.draw() run sync → [Keyboard] Make IMERender.draw() more efficient
Keywords: perf
Whiteboard: [p=5] → [c=effect p=5 s= u=]
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.