Bug 104693 - REGRESSION: Very poor performance on IE's Chalkboard benchmark
Summary: REGRESSION: Very poor performance on IE's Chalkboard benchmark
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Philip Rogers
URL: http://ie.microsoft.com/testdrive/Per...
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2012-12-11 11:46 PST by Tim Horton
Modified: 2013-02-14 12:18 PST (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Horton 2012-12-11 11:46:09 PST
http://ie.microsoft.com/testdrive/Performance/Chalkboard/

A vague history of our performance on this test:

a) bad (15 seconds to completion, pretty jerky) before SVGImageCache (http://trac.webkit.org/changeset/99539)
b) sort of OK (5 seconds to completion, relatively smooth) after SVGImageCache, but pixelated.
c) absolutely horrific (hundreds of seconds to completion, completely stalling for seconds at a time) after Niko's fix to actually use the right image size. But not pixelated anymore. (http://trac.webkit.org/changeset/112229)

<rdar://problem/11769350>
Comment 1 Florin Malita 2012-12-11 11:54:16 PST
I believe Philip is taking a hard look at the SVG image cache :)

FWIW, bypassing the SVG image cache completely (by hacking SVGImageCache::lookupOrCreateBitmapImageForRenderer to always return Image::nullImage for example) fixes this issue (runs in under 5s on my workstation, not pixelated).
Comment 2 Tim Horton 2012-12-11 11:55:51 PST
(In reply to comment #1)
> I believe Philip is taking a hard look at the SVG image cache :)

That is *fantastic* news.

> FWIW, bypassing the SVG image cache completely (by hacking SVGImageCache::lookupOrCreateBitmapImageForRenderer to always return Image::nullImage for example) fixes this issue (runs in under 5s on my workstation, not pixelated).

Heh, good to know!
Comment 3 Tim Horton 2013-01-04 18:07:03 PST
(In reply to comment #2)
> (In reply to comment #1)
> > I believe Philip is taking a hard look at the SVG image cache :)
> 
> That is *fantastic* news.

pdr, do you have a bug tracking your work?

> > FWIW, bypassing the SVG image cache completely (by hacking SVGImageCache::lookupOrCreateBitmapImageForRenderer to always return Image::nullImage for example) fixes this issue (runs in under 5s on my workstation, not pixelated).
> 
> Heh, good to know!
Comment 4 Philip Rogers 2013-01-04 18:34:42 PST
(In reply to comment #3)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > I believe Philip is taking a hard look at the SVG image cache :)
> > 
> > That is *fantastic* news.
> 
> pdr, do you have a bug tracking your work?

I've been plugging away at this but our image cache is really not well :/ My current plan is to get the cache into a decent, working state and then switch it over to be non-image-based.

I went ahead and filed several of the larger bugs:
https://bugs.webkit.org/show_bug.cgi?id=106156
https://bugs.webkit.org/show_bug.cgi?id=106158
https://bugs.webkit.org/show_bug.cgi?id=106159 (this is the imagebuffer change)
Comment 5 Philip Rogers 2013-02-14 12:18:32 PST
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > (In reply to comment #1)
> > > > I believe Philip is taking a hard look at the SVG image cache :)
> > > 
> > > That is *fantastic* news.
> > 
> > pdr, do you have a bug tracking your work?
> 
> I've been plugging away at this but our image cache is really not well :/ My current plan is to get the cache into a decent, working state and then switch it over to be non-image-based.
> 
> I went ahead and filed several of the larger bugs:
> https://bugs.webkit.org/show_bug.cgi?id=106156
> https://bugs.webkit.org/show_bug.cgi?id=106158
> https://bugs.webkit.org/show_bug.cgi?id=106159 (this is the imagebuffer change)

We now pass the IE chalkboard demo in 9s at 1280x1024!