No-op composites spend too much time in CoreAnimation
Categories
(Core :: Widget: Cocoa, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox87 | --- | fixed |
People
(Reporter: mstange, Assigned: mstange)
References
(Blocks 2 open bugs)
Details
(Keywords: power)
Attachments
(1 file)
Testcase: attachment 9193979 [details]
Profile: https://share.firefox.dev/2YNK60l
On this testcase, every render has NumDrawCalls: 0. However, we still spend an appreciate amount of CPU time in CoreAnimation-related code. We should check if there's a way to avoid this overhead if we detect that no changes ended up happening.
For example, we always assign to the CALayer (edit: we don't actually do this)sublayers
property, even if the set of sublayers hasn't changed. This might make a difference.
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
This avoids some overhead from committing the transaction.
Assignee | ||
Comment 2•3 years ago
|
||
Before: https://share.firefox.dev/2YR1fWZ
14% of render time spent in NativeLayerRootCA::CommitToScreen
After: https://share.firefox.dev/39PWXW8
0% of render time spent in NativeLayerRootCA::CommitToScreen
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/269cdb8ab3de Don't create a CATransaction if nothing changed. r=mattwoodrow
Comment 4•3 years ago
|
||
bugherder |
Updated•2 years ago
|
Description
•