Open Bug 1845890 Opened 2 years ago Updated 1 year ago

Very high CPU usage when viewing SVG with animated filter

Categories

(Core :: Graphics: WebRender, defect)

Firefox 115
defect

Tracking

()

People

(Reporter: coles.david, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Steps to reproduce:

  1. Start Firefox
  2. Open about:processes
  3. Open https://staging.cohostcdn.org/header/63299-4a022c5a-f433-4aea-92c8-3fe906bf0cdb-profile.svg in a new window

Actual results:

On Windows 11 64-bit (Version 10.0.22621 Build 22621) the GPU process immediately spikes to 600% (approximately 50% of total CPU resources on the system).

Looking at the CPU trace (https://share.firefox.dev/3Ox6fe5) it appears that most of the time is being split roughly between Skia rendering and the Turbulence filter software implementation:

  • 35% BitmapProcShaderContext::shadeSpan (Skia)
  • 29% mozilla::gfx::RenderTurbulence_SIMD

Expected results:

The same SVG image under Google Chrome Version 114.0.5735.248 (Official Build) (64-bit) only uses approximately 1.5% of total CPU resources on the system.

Component: Untriaged → Performance
Product: Firefox → Core
Component: Performance → Graphics: WebRender
Status: UNCONFIRMED → NEW
Ever confirmed: true

The severity field is not set for this bug.
:gw, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(gwatson)
Severity: -- → S3
Flags: needinfo?(gwatson)

This uses feDisplacementMap which is not accelerated yet, so I'm marking it as dependent on the bug for implementing that feature.

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