Closed Bug 974025 Opened 11 years ago Closed 11 years ago

Profile and Investigate Gaia Apps that have Checkerboarding

Categories

(Core :: Graphics, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

()

RESOLVED WORKSFORME
1.4 S3 (14mar)
blocking-b2g 1.4+

People

(Reporter: mchang, Assigned: mchang)

References

Details

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

Attachments

(1 file)

Find Gaia apps which are checkerboarding, profile them, and fix CPU usage that blocks / causes checkerboarding.
Depends on: 974081
Depends on: 972675
Depends on: 974235
No longer depends on: 974235
blocking-b2g: --- → 1.4+
Bug 967884 describes most of the issues with contacts at the moment. Bug 975680 has some work to try to refactor the contacts list to be more performant.
Depends on: 967884, 975680
Clearing blocking flag - this is a meta bug, which we will not block on. Per a drivers' decision - please nominate individual actionable dependencies.
blocking-b2g: 1.4+ → ---
This is not just the meta bug. All the work in triaging the problems and figuring out what they are, and what the solution should be happen here. It's also the only one that tracks "this is what the user sees in the end", without dragging in the implementation details which are irrelevant at this level. It also blocks a blocker. I will remove meta from the subject line to avoid confusion.
blocking-b2g: --- → 1.4+
Summary: [meta] Profile and Investigate Gaia Apps that have Checkerboarding → Profile and Investigate Gaia Apps that have Checkerboarding
(In reply to Milan Sreckovic [:milan] from comment #3) > This is not just the meta bug. All the work in triaging the problems and > figuring out what they are, and what the solution should be happen here. > It's also the only one that tracks "this is what the user sees in the end", > without dragging in the implementation details which are irrelevant at this > level. It also blocks a blocker. I will remove meta from the subject line > to avoid confusion. From what I can tell this is a meta bug. This is talking about profiling work for checkerboarding generally across Gaia. There isn't really anything actionable start to end tracked here. Like I said, there's already a drivers' decision made here, which indicates that we do not block on broad tracking bugs - you need the individual bugs marked as blockers. Clearing the flag again.
blocking-b2g: 1.4+ → ---
It may look like a meta bug from what you can tell. It isn't. The action is to profile all the Gaia apps so that we know what to work on. Without the profile, we can't fix it, and fixing it is a blocker.
blocking-b2g: --- → 1.4+
Component: Gaia → Graphics
Product: Firefox OS → Core
Gaia: 8e21d0a Gecko: 170360:1507f021ac93 Reference workload light, wait until all items are loaded (e.g. gallery loaded thumbnails) Gallery: https://people.mozilla.org/~bgirard/cleopatra/#report=a746d2fe65958d22c742c3de021ab5e9f94151a4 Music - (song list): https://people.mozilla.org/~bgirard/cleopatra/#report=e85e2053b5643efc84af63ff481fa9ab31de98ac SMS - (main list): https://people.mozilla.org/~bgirard/cleopatra/#report=73c5edffec10df94d91ad8ab82d05763912ebce2 Calendar - (day view): https://people.mozilla.org/~bgirard/cleopatra/#report=f1242523c1cffaae21735147212ca839e48730d5 Spawned Bugs (with profiles / active solutions): Contacts: 967884, 975831 Email: 965019, 796474 Settings: 957886, 976299 Calendar: 972675
Looking at all of the pasted profiles, we notice that we spend a large amount of time in TParseContext::executeInitializer. This seemed weird, so I re-profiled and looked at previous profiles and I never see this. Re-profiled for Messages: https://people.mozilla.org/~bgirard/cleopatra/#report=fbbe4b0f60ed7aa2f74b460f59e3b780a7b8a93c
We're seeing a lot of time in gralloc buffers. I thought this was due to the displayport constantly being resized, but that's not the case. It's because of bug 958727. I think we're grallocing a smaller buffer as a texture shrinks, then grallocing a new buffer when it expands, and then gralloc a smaller buffer again when it shrinks, going back and forth. We could spend the time to fine tune the heuristics, but not in time for 1.4. Also, tiling should solve the original problem. See profile for the music app versus the one in comment 8: https://people.mozilla.org/~bgirard/cleopatra/#report=167ac4f05d5794cb9ef133ce9cc9cf27d8664b47
Been looking through the music app. We sometimes overpaint the display port, but not very often. We're doing good on not painting the 'Songs' or the navigation bar. Don't have a lot of reflows. The thing that always sticks out at me is the amount of time spent in pixman_composite_src_8888_8888_asm_neon. There seems to be chunks where we spend a lot of frames in it, then chunks where we don't as much. Going to try and investigate why / when that happens.
Update on where we stand today: Going through the Gaia apps, fixing up places where we don't have scrollable opaque layers. Bug 968478 for the calendar app. We were grallocing every frame on most of the apps, which was resolved with backing out bug 958727. We waste some memory, but tiling should fix it. We probably still want something like that to eliminate the over allocating for the status bar layer. Backing out bug 958727 helped a lot in the Gallery (bug 943845) / Music apps, where it is difficult to checkerboard anymore. One potential optimization that won't make it in time for 1.4 is to lower render quality of images while skating, not sure this is possible though. Settings has a few layer optimizations in bug 976299 and bug 978128. Contacts / Email are investigating using roc's virtual list idea in bug 975831. Calendar / SMS are the last two that need some deep investigation.
Target Milestone: --- → 1.4 S3 (14mar)
Position sticky hurts SMS, see bug 977680. Profile w/o position sticky in the SMS app. https://people.mozilla.org/~bgirard/cleopatra/#report=ac69675618efd0f13c9116e4dae6439ce52fc55a
We have lots of profiles across lots of the apps and open bugs for them. We've improved checkerboarding in quite a few places. Closing for now. If we need more profiles, please ask the module owners to profile by following these instructions: https://developer.mozilla.org/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: