Open Bug 1720979 Opened 3 years ago Updated 1 year ago

Slow animation (and lots of CPU use) on a codepen demo

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement

Tracking

()

People

(Reporter: mayankleoboy1, Unassigned)

References

(Blocks 2 open bugs, )

Details

Go to https://codepen.io/YusukeNakaya/pen/rJxevm

ER: smooth animation, low CPU use
AR: slow-ish animation and high CPU use

https://share.firefox.dev/3iiOyOj

I can see multiple things in here.

  1. We are rebuilding the scene every frame. An action item here could be spent on figuring out the dynamic properties of the page that prevent us from re-using the scene, and potentially adding/enabling support for them in WebRender.
  2. General optimization of DL construction and scene building would help here, we may use this as a testcase/benchmark.
  3. Page involves a set of preserve-3d planes. We end up with more than 15 passes there.
    - We could try to find if the preserve-3d pictures can be tighter, thus packing into less passes
    - See if some of the pictures can be made opaque, thus reducing overdraw (bug 1597324)
Severity: -- → S3

Side note: in that profile Mayank shared, Angle spends a ton of CPU time in just state switching (updateState). For example, draw_alpha_batch_container is 19% of that thread time, but updateState is 13% inside it, so roughly 2/3 of all the CPU work in Angle.

You need to log in before you can comment on or make changes to this bug.