Open Bug 824221 Opened 12 years ago Updated 2 years ago

Improve Firefox's performance on Penguin Mark

Categories

(Core :: Graphics, defect)

x86_64
All
defect

Tracking

()

People

(Reporter: damage3025, Unassigned)

References

(Blocks 1 open bug, )

Details

(Keywords: perf, Whiteboard: ietestdrive)

Attachments

(1 file)

Attached image my_score.png
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0 Build ID: 20121129151842 Steps to reproduce: 1. Visit http://blogs.msdn.com/b/ie/archive/2012/12/21/penguin-mark-blazing-fast-holiday-fun.aspx 2. Click [Penguin Mark] 3. Click [Test My Browser] Actual results: IE's score can be way more higher that of Firefox. Firefox's score is limited to 3 digits but IE's score can higher than 1k, 10k,... Expected results: Firefox's score is higher than that of IE.
Keywords: perf
Component: Untriaged → General
Product: Firefox → Core
As posted on: http://code.google.com/p/chromium/issues/detail?id=167413 The scoring is based on the return speed of the draw loop, which adjusts the snow flakes and windSpeed. The final score is: this.currentScore = Math.round(this.maxCountSnowflakes * this.windFactor); While windFactor is based on the countSnowFlakes: this.windSpeed = this.countSnowflakes / 1000; So the scoring is all but linear. I have to admit: IE returns damn fast on the draw calls, as far as I know they use deferred rendering. The fast return on a draw call is of course pretty nice because then you can start pushing out the next geometry to the canvas for rendering. Not so much fun when you read pixel data though ;-) However the whole test is built around this particular fact and so is the scoring. So it is hardly a pure benchmark. However, here ( https://github.com/dsmit/PenguinMarkNG ) is a version that measures the number of draw calls within the demo run. I increased the amount of snow flakes to a number where both Chrome and IE have a hard time. Locally this scores IE: 502 Chrome: 255 Firefox: 214 I did multiple runs and the numbers always boil down to around this figure. Online version: http://penguinmarkng.azurewebsites.net/ please do pull requests to the repo as noted above if you have improvements. Cheers!
SPS Profile on Win7 x64 for the Version mentioned in previous Comment: http://people.mozilla.com/~bgirard/cleopatra/#report=45060698942433c73f0b40ec5654655c9a00923c
OS: Linux → All
Summary: Improve Firefox's performance → Improve Firefox's performance on Penguin Mark
Whiteboard: ietestdrive
Version: 17 Branch → Trunk
Status: UNCONFIRMED → NEW
Component: General → Graphics
Ever confirmed: true
There's also some CSS animations going on, so off-main-thread-compositing would help, but probably not much compared to deferred canvas rendering.
on my win7 x64 machine : IE10RC : 4000 FF nightly : 94
FWIW, with HWA off on IE10Rc, this demo used 60-70% of my quad core CPU (without Intel OpenCL runtime installed). Is IE10 the first browser with multithreaded browser?
Most browsers use multiple threads for various features. For example, pretty much all browsers use multiple threads for video decoder. Firefox uses extra threads for parsing HTML. IE uses D2D even when HWA is off, and the software D2D implementation uses multiple threads. We could do the same I suppose, but I suspect most machines that have D2D also have working HWA so it may not be worth it.
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #7) > IE uses D2D even when HWA is off, and the software D2D implementation uses > multiple threads. We could do the same I suppose, but I suspect most > machines that have D2D also have working HWA so it may not be worth it. Like this : http://msdn.microsoft.com/en-us/library/gg615082.aspx ?
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: