Closed
Bug 1626666
Opened 4 years ago
Closed 4 years ago
Rework the ipc profile counters
Categories
(Core :: Graphics: WebRender, defect, P3)
Core
Graphics: WebRender
Tracking
()
RESOLVED
FIXED
People
(Reporter: nical, Assigned: nical)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
Currently IPC profile counters give a mix of useless, useful and ambiguous information:
- consume time merely the time it takes to push something into a vector (always displays zero)
- total IPC time contains the time between
api.set_display_list
and the render backend picking the message up, plus the time it took to build the display list (but doesn't take into account the time it took for actual IPC in between). - send time is only the time between
api.set_display_list
and the render backend picking the message up but doesn't take into account the time it took between the content process and the compositor thread sending the display list.
Assignee | ||
Comment 1•4 years ago
|
||
Before this patch:
- Consume time merely is the time it takes to push something into a vector (always displays zero).
- Total IPC time and the DisplayList IPC graph measure the time between api.set_display_list and the render backend picking the message up, plus the time it took to build the display list (but doesn't take into account the time it took for actual IPC in between).
- Send time is only the time between api.set_display_list and the render backend picking the message up but doesn't take into account the time it took between the content thread sending the DL and the compositor thread forwarding it.
After this patch:
- Content send time measures the time between the content thread sending the display list and the compositor forwarding it (actual IPC).
- Api send time measures the time between the compostor thread forwarding the DL and the render backend picking it up.
- Consume time is removed.
- Total send time is the sum of content and api times.
- Display list build times and display list IPC (total send time) are on separate graphs.
Depends on D69227
Pushed by nsilva@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ea22f0b1e2a0 Rework the ipc profile counters. r=Bert,gw
Assignee | ||
Comment 3•4 years ago
|
||
Instead of collecting so-called ipc counters when receving the SetDisplayList on the render backend, pass the information through the scene builder thread and update the profile on the render backend after the scene is swapped. This prevents ipc counters to be displayed while the transaction is still being processed by the scene builder thread.
Assignee | ||
Comment 4•4 years ago
|
||
Few of the counters actually have anything to do with IPC although they all relate to events of layout transactions.
Depends on D69414
Assignee | ||
Updated•4 years ago
|
Keywords: leave-open
Pushed by nsilva@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1a729c8ea631 Ensure ipc profile counters follow transactions through the scene builder thread. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/d2771cdff401 Rename IpcProfileCounters into TransactionProfileCounters. r=jrmuizel
Comment 6•4 years ago
|
||
bugherder |
Assignee | ||
Updated•4 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•