The homescreen generates many reflows

RESOLVED WONTFIX

Status

Firefox OS
Gaia::Homescreen
RESOLVED WONTFIX
3 years ago
5 months ago

People

(Reporter: gmarty, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [systemsfe])

Attachments

(1 obsolete attachment)

(Reporter)

Description

3 years ago
When the homescreen starts about 200+ reflows take place. The progressive icons loading mechanism is bound to create reflows, but let's see what we can optimise to reduce their number.
(Reporter)

Updated

3 years ago
Whiteboard: [systemsfe]
Created attachment 8681334 [details] [review]
[gaia] gmarty:Bug-1220186-The-homescreen-generates-many-reflows > mozilla-b2g:master
(Reporter)

Comment 2

3 years ago
Comment on attachment 8681334 [details] [review]
[gaia] gmarty:Bug-1220186-The-homescreen-generates-many-reflows > mozilla-b2g:master

This bug remove the _relayout method of gaia-site-icon. Let's first see if the tests are green and let's measure the impact of the patch.
Chris, how does the code look to you?
Attachment #8681334 - Flags: feedback?(chrislord.net)

Comment 3

3 years ago
Comment on attachment 8681334 [details] [review]
[gaia] gmarty:Bug-1220186-The-homescreen-generates-many-reflows > mozilla-b2g:master

I'm guessing this isn't the whole thing? this._size is used pretty extensively around gaia-site-icon, just removing that would break a lot of things I think.

(but I'm very much in favour of removing it and relying on CSS here)
Attachment #8681334 - Flags: feedback?(chrislord.net)

Updated

3 years ago
Blocks: 1215553

Updated

3 years ago
Blocks: 1220725

Updated

3 years ago
Blocks: 1217217
(Reporter)

Comment 4

3 years ago
I'm on PTO for the next 2 weeks, can you take a look?
Getting the size of the img container must be done only once for all icons. That means that this must be done at the homescreen level and then be propagated to all icons.
Also ideally, we want to measure the performance before and after the patch, but using the JS profiler I noticed a massive ~5% improvement on start time.
Flags: needinfo?(chrislord.net)

Comment 5

3 years ago
I may have improved this in bug 1224136 - the changes made have knocked nearly 2 seconds off the fullyLoaded time, but I still think there's a lot of room for improvement (all the same, we're now very close to verticalhome's fullyLoaded time and considerably better than its visuallyLoaded, so it's looking much better!)

Going to move the needinfo back to gmarty to confirm if this has helped in this regard, or if there is still much we can do.
Flags: needinfo?(chrislord.net) → needinfo?(gmarty)
(Reporter)

Comment 6

3 years ago
Thanks Chris, things are much better now. Fixing these reflows was a low hanging fruit.
Digging into the current state of the home screen, I noticed some more reflows (though they don't harm performance as much as the one fixed in bug 1224136).
The pattern is repeated about 15 times (more on 4 cols) and consists of a reflow caused by App#refreshGridSize() then followed by 5 to 20 reflows caused by gaia-container synchroniseMaster().
That said, according to the profiler, I doubt we could get better than a few hundreds of ms.
I leave it to you Chris to take the final decision about whether this refactoring/fixing is worth it.
Flags: needinfo?(gmarty) → needinfo?(chrislord.net)
(Reporter)

Updated

3 years ago
Attachment #8681334 - Attachment is obsolete: true

Comment 7

3 years ago
I think it's worth refactoring/streamlining to eliminate more of these reflows, but it's not urgent. Let's leave this open to track the issue.
Flags: needinfo?(chrislord.net)

Comment 8

5 months ago
Firefox OS is not being worked on
Status: NEW → RESOLVED
Last Resolved: 5 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.