Open Bug 1700287 Opened 3 years ago Updated 1 year ago

Listening to audio books on YouTube cause a 10% CPU load of rendering threads

Categories

(Core :: Graphics: WebRender, defect, P4)

defect

Tracking

()

People

(Reporter: whimboo, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: power)

Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0 ID:20210322093509

Listening to an audio stream on YouTube that just shows a single image causes a permanent rendering of the page.

Steps:

  1. Open https://www.youtube.com/watch?v=42TiMlqQn_0&t=73s
  2. Start playing the audio book

Once started you can see an extra 10% CPU load for the main process, whereby all goes into the Renderer, WRRenderBackend#1, and Compositor threads. This is unclear given that the image itself doesn't change at all. Compared to Safari, which uses around 7% in total, Firefox has around 30%.

Here the recorded profile: https://share.firefox.dev/3lJ4daF

That's a video that's playing at 25fps, it's just the same frame over and over again, but we don't have anyway of knowing that we don't need to repaint.

Safari is probably getting the h264 version which helps lower cpu usage. How does Chrome compare?

Safari is probably getting the h264 version which helps lower cpu usage.

This could be tested with https://addons.mozilla.org/en-US/firefox/addon/enhanced-h264ify/

No, Safari also gets the Vp9 encoded version; at least that's what the overlay for nerds it telling me.

The Renderer and GPU process from Chrome use 15-20% together for VP9/Opus. In Firefox we have 25-30% as mean value over time.

Shot into the dark: display list building overhead? Can't find the bug but I remember having seen something about us still rebuilding the display list even if only an external image changes content. Henrik, mind creating a profile so we can check?

Flags: needinfo?(hskupin)

Urgh, you already did, sorry for the noise!

Flags: needinfo?(hskupin)
Severity: -- → S3
Priority: -- → P3

(This was triaged as part of webrender triaging. Removing qf.)

Whiteboard: [qf]
Priority: P3 → P4
No longer blocks: wr-perf
You need to log in before you can comment on or make changes to this bug.