Closed Bug 1690619 Opened 1 year ago Closed 3 months ago

Add profiler markers with a simple reason string for composite requests

Categories

(Core :: Gecko Profiler, task, P3)

task

Tracking

()

RESOLVED FIXED
95 Branch
Tracking Status
firefox94 --- wontfix
firefox95 --- fixed

People

(Reporter: florian, Assigned: nical)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Example profile: https://deploy-preview-3098--perf-html.netlify.app/public/rt3mdpvzcyxd6e21x3d1k0xk60zc5rwejz05swg/marker-chart/?globalTrackOrder=0-1-2-3-4-5-6-7-8-9-10-11-12&localTrackOrderByPid=23223-7-8-0-1-2-3-4-5-6~23224-0~23249-0~23230-0~23234-0~23232-0~23229-1-0~23227-1-0~23233-1-0~23231-1-0~23240-1-0~23235-1-0~23228-1-2-0~&thread=1&v=5

The parent process is using continuously more than 30% of a core (10+% just for the main thread), and there's no straightforward way to figure out why.

Markus, any idea about things we could do to make profiles of issues like this more actionable?

Flags: needinfo?(mstange.moz)
Severity: -- → N/A
Priority: -- → P3

We could:

  1. Capture stacks in CompositorVsyncScheduler::ScheduleComposition() and in CompositorBridgeParent::ScheduleRenderOnCompositorThread() (and put those markers on the compositor thread, because the latter function can be called on other threads like the scene builder thread)
  2. Have markers for compositor animations, bug 1343220
  3. Have markers for APZ animations (say which animations caused AdvanceAnimations to return true)
  4. On each CompositeToTarget marker, list which animations are running, so that we see them even if we missed the animation's start marker
  5. On each CompositeToTarget marker, list which parts of generateFrame are true
Flags: needinfo?(mstange.moz)
Duplicate of this bug: 1703331
Assignee: nobody → nical.bugzilla
Attachment #9243941 - Attachment description: WIP: Bug 1690619 - WIP - Keep track of where the request to rendering something comes from. → Bug 1690619 - Keep track of where the request to rendering something comes from. r=#gfx-reviewers
Status: NEW → ASSIGNED
Keywords: leave-open
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/023918f7faca
Keep track of where the request to rendering something comes from. r=gfx-reviewers,mstange
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/18ea7a785e83
Fix typos in the RenderReasons profiler integration. r=gfx-reviewers,aosmond
Blocks: 1736871

I'm going to close this bug. I've filed bug 1736871 to track more follow-up work. "leave-open" bugs make tracking hard.

No longer blocks: 1690673
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Keywords: leave-open
OS: Unspecified → All
Hardware: Unspecified → All
Resolution: --- → FIXED
Summary: Profiles should contain enough informations to understand why compositing happens at 60Hz → Add profiler markers with a simple reason string for composite requests
Target Milestone: --- → 95 Branch
You need to log in before you can comment on or make changes to this bug.