Up to 50% CPU load for animated (job is running) SVG on Github Actions page
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
People
(Reporter: whimboo, Unassigned)
References
(Blocks 2 open bugs)
Details
(Keywords: power)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:90.0) Gecko/20100101 Firefox/90.0 ID:20210421212740
Seen today while observing status of running CI jobs for the Puppeteer repository. Firefox uses the CPU up to 50% on the main process, whereby most of it is all in Rendering.
Here a profile while 5 jobs were running:
https://share.firefox.dev/3aPXrvH
Note that Safari consumes less than 10% CPU at the same time (with all the jobs running).
Reporter | ||
Updated•4 years ago
|
Reporter | ||
Comment 1•4 years ago
|
||
Oh and the page that I had open at this time was:
https://github.com/puppeteer/puppeteer/actions/runs/795407508
Comment 2•4 years ago
|
||
Henrik, this profile doesn't show any significant work on the Renderer thread. The composite times are around 5ms. Is this the right profile?
Reporter | ||
Comment 3•4 years ago
|
||
Yes it is. And the problem on this page is the animated SVG with the class name anim-rotate
.
<svg width="92%" height="92%" fill="none" viewBox="0 0 16 16" class="anim-rotate" xmlns="http://www.w3.org/2000/svg">
<path opacity=".5" d="M8 15A7 7 0 108 1a7 7 0 000 14v0z" stroke="#dbab0a" stroke-width="2"></path>
<path d="M15 8a7 7 0 01-7 7" stroke="#dbab0a" stroke-width="2"></path>
<path d="M8 12a4 4 0 100-8 4 4 0 000 8z" fill="#dbab0a"></path>
</svg>
The animation is specified as:
.anim-rotate {
animation: rotate-keyframes 1s linear infinite;
}
By default when the actions are running there are 9 of these SVGs displayed.
Comment 4•4 years ago
|
||
I'm still not seeing in the Profile that we are spending any significant time here. Renderer spends 70% of time waiting for messages, 20% of time waiting for GPU work to be done, and only 10% of time recording commands. Maybe the profile needs to include the content process, to see this SVG workload?
Reporter | ||
Comment 5•4 years ago
|
||
Dzmitry had a look at it himself last Friday after I triggered those jobs of the before-mentioned Github Actions page. Maybe he can explain himself.
But I still see that way higher overall CPU load compared to Safari.
Comment 6•3 years ago
|
||
Sorry for responding this late!
I think there are no obvious offenders in this profile. I'd classify it under the general "we need to cache things better and avoid doing more work" bin, similar to 1647073. It can be addressed by a number of non-trivial measures, such as
- DL interning, better picture caching
- restructuring the way Gecko DLs are built
- faster frame building, better partial presentation
Updated•2 years ago
|
Description
•