Closed Bug 793507 Opened 12 years ago Closed 1 year ago

Extremely low performance and hangs with SVG visualization containing filters

Categories

(Core :: SVG, defect)

defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: ferongr, Unassigned)

References

(Depends on 1 open bug, )

Details

(Keywords: perf, Whiteboard: [in-the-wild] [external-report])

Windows 7 64bit, 32bit Nightly.

Go to website at URL field. 
Mouse/click anywhere on the large circle.

The browser hangs for a few seconds frequently. Profiler trace follows.

http://people.mozilla.com/~bgirard/cleopatra/?report=c856ed4b9c8e8d417148568f7591605dd217044b
This has long lists of chained filters. Is Firefox performance significantly different to any other filter supporting UA?
Chromium exhibits no visible slowness and hovering over the different circle segments produces a visible result nearly instantaneously.
Blocks: 802871
Against current Trunk the Profile of Comment 0 is still valid with

Selection - Most time spent in:
    nsSVGFETurbulenceElement::Noise2(int,double * const,nsSVGFETurbulenceElement::StitchInfo *)
    nsSVGFETurbulenceElement::Noise2(int,double * const,nsSVGFETurbulenceElement::StitchInfo *)
    nsSVGFETurbulenceElement::Turbulence(int,double *,double,double,int,bool,bool,double,double,double,double)
    nsSVGFETurbulenceElement::Filter(nsSVGFilterInstance *,nsTArray<nsSVGFE::Image const *> const &,nsSVGFE::Image const *,nsIntRect const &)
    nsSVGFilterInstance::Render(gfxASurface * *)
    nsSVGFilterFrame::PaintFilteredFrame(nsRenderingContext *,nsIFrame *,nsSVGFilterPaintCallback *,nsRect const *)
    nsSVGIntegrationUtils::PaintFramesWithEffects(nsRenderingContext *,nsIFrame *,nsRect const &,nsDisplayListBuilder *,mozilla::layers::LayerManager *)
    mozilla::PaintInactiveLayer
    mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer *,gfxContext *,nsIntRegion const &,nsIntRegion const &,void *)
    gfx::DrawThebesLayer

As an Addition since SVG Display List's Landing this is now even more worse CPU Usage-wise during Onload as you can see when you disable their Prefs and compare.
Keywords: perf
With the latest perf gains related to reflow and invalidation, I'm now seeing 95% of the profile time under nsSVGFilterFrame::PaintFilteredFrame.
Depends on: 869496
OS: Windows 7 → All
Hardware: x86_64 → All
Summary: Extremely low performance and hangs with SVG visualization. → Extremely low performance and hangs with SVG visualization containing filters
Whiteboard: [in-the-wild] [external-report]
This is much better with the new filters. Hovering over the percentages on the right is near-instant. Hovering over pie chart segments doesn't do anything for some reason, but that's unrelated to filter performance.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Severity: normal → S3

Site seems to be gone now I'm afraid.

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.