Closed Bug 835621 Opened 12 years ago Closed 12 years ago

Don't force a sync reflow from StatusBar.get height() (cache the value)

Categories

(Firefox OS Graveyard :: Gaia::System, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(blocking-b2g:-, b2g18 fixed, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 fixed)

RESOLVED FIXED
blocking-b2g -
Tracking Status
b2g18 --- fixed
b2g18-v1.0.0 --- wontfix
b2g18-v1.0.1 --- fixed

People

(Reporter: cjones, Unassigned)

References

Details

Attachments

(1 file, 1 obsolete file)

Attached patch Hacky patch to gaia system app (obsolete) (deleted) — Splinter Review
Looking at the big chunk of b2g-process work in http://people.mozilla.com/~bgirard/cleopatra/#report=3dda4851c74895beb767a168d733a95fae237a76 we see that the gaia system app is forcing a sync reflow under StatusBar.get height(). This reflow is costing ~25 samples (~30ms). We have to do this work eventually, but doing it synchronously here is bad for two reasons - it makes a mega event-loop iteration take even longer - it prevents gecko from using interruptible layout, which is better for responsiveness in general Here's a profile taken with the attached hacky patch applied http://people.mozilla.com/~bgirard/cleopatra/#report=742f3c620c41cd71083dd85ac60bdded7c5a1b34 While it's true that we've taken all these reflow samples, and pushed them somewhere else, we pushed them to a better place where they can be run more effectively. (The attached patch obviously isn't serious.)
I should note that the reflow in both cases is off the critical path; we've already initiated the load in the subprocess. But without the fix here, the reflow is more likely to cause the subprocess to block on the b2g process.
With this issue fixed we should more consistently hit the "positive effect" (*cough* luck) described in bug 835548 comment 10.
I have local patches for those Gaia stuff that slow us down. I will upload them asap.
Attached patch Cache the statusbar height (deleted) — Splinter Review
Patch from Vivien.
Attachment #707370 - Attachment is obsolete: true
Attachment #710363 - Flags: review?(timdream)
Attachment #710363 - Flags: review?(timdream) → review+
Comment on attachment 710363 [details] [diff] [review] Cache the statusbar height Low-risk patch that keeps the b2g process more responsive during app startup.
Attachment #710363 - Flags: approval-gaia-v1?(21)
Comment on attachment 710363 [details] [diff] [review] Cache the statusbar height That sounds more than reasonable.
Attachment #710363 - Flags: approval-gaia-v1?(21) → approval-gaia-v1+
Let's see if this get the blocking status as well.
blocking-b2g: --- → tef?
v1-train: ba1c47f24e763469b9080cc87c412efb63a91c3e
Already landed on v1.0.1, no need to fix for v1.0.0.
blocking-b2g: tef? → -
Batch edit: Bugs fixed on b2g18 after 1/25 merge to v1.0 branch are fixed on v1.0.1 branch.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: