Last Comment Bug 584710 - SVG Dice demo shows low performance when drawing/intersecting gradients.
: SVG Dice demo shows low performance when drawing/intersecting gradients.
Status: RESOLVED WORKSFORME
ietestdrive
:
Product: Core
Classification: Components
Component: Graphics (show other bugs)
: unspecified
: x86 Windows 7
: -- normal with 3 votes (vote)
: ---
Assigned To: Bas Schouten (:bas.schouten)
:
: Milan Sreckovic [:milan]
Mentors:
http://ie.microsoft.com/testdrive/Per...
Depends on: 610122
Blocks: ietestdrive
  Show dependency treegraph
 
Reported: 2010-08-05 07:43 PDT by Steve Scott (pxbugz)
Modified: 2013-09-19 19:29 PDT (History)
15 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
-


Attachments

Description Steve Scott (pxbugz) 2010-08-05 07:43:02 PDT
User-Agent:       Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b4pre) Gecko/20100805 Minefield/4.0b4pre
Build Identifier: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b4pre) Gecko/20100805 Minefield/4.0b4pre

The SVG dice http://ie.microsoft.com/testdrive/Performance/SVGDice/Default.xhtml looks to be as smooth as IE9 until the dice intersect with the gradient/graphics or each other.

The 'Vegas' theme has the worst performance, while 'low fidelity' maintains a fast framerate for the longest.

IE9 maintains high framerate throughout

Reproducible: Always

Steps to Reproduce:
1. Load SVG Dice and 'roll'
2. Change 'themes' and roll again to observe framerate differences.
Actual Results:  
Observe smooth animation of dice when they first appear.

When the dice cover gradient background or another dice framerate is drastically reduced.

Expected Results:  
Framerate should not drop dramatically over gradients and other dice

D2D on.
Comment 1 Joe Drew (not getting mail) 2010-08-05 21:17:06 PDT
Blocking on the investigation; if this turns out to be unimportant, feel free to unblock.
Comment 2 Robert Longson 2010-08-06 01:10:00 PDT
There are various SVG bugs with similar examples. The underlying issue is that when we move an object we invalidate where it once was. If two overlapping objects move we get two invalidates, 3=3 etc. The number of redraws grows rapidly with multiple overlapping objects. I think once we move to display lists for SVG (no bug for that yet) they can coalesce the invalidates.
Comment 3 Bas Schouten (:bas.schouten) 2010-10-14 15:23:53 PDT
Robert, or JWatt, could you confirm here for me then that this is -not- related to graphics performance?
Comment 4 Robert O'Callahan (:roc) (email my personal email if necessary) 2010-10-14 19:45:13 PDT
I can't confirm that. I profiled the testcase on Mac, in a debug build even, and we're spending almost all our time in nested calls to nsSVGUtils::PaintFrameWithEffects. A lot of computing mask alphas and suchlike. We're also spending TONS of time in io_alltraps, which indicates memory churn probably due to temporary surfaces. Maybe we can speed up graphics stuff, maybe we should be trying to cache the alpha surface for masks.

However, I do not recommend blocking FF4 on this.
Comment 5 Robert O'Callahan (:roc) (email my personal email if necessary) 2010-10-15 03:56:56 PDT
The patches in bug 586954 might help here.

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