Right now, it uses plain old Timer, and reschedules it in every deallocate(), which can be very (very!) expensive (I'm seeing it at about 8% of main thread run time in my simple test case). That's why we have DeferrableOneShotTimer. I have a patch.
Created attachment 219905 [details] patch
Comment on attachment 219905 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=219905&action=review > Source/WebCore/platform/graphics/cg/ImageBufferBackingStoreCache.cpp:78 > + { > + } unindented obviously
Comment on attachment 219905 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=219905&action=review > Source/WebCore/platform/graphics/cg/ImageBufferBackingStoreCache.cpp:32 > +static const double purgeInterval = 5; shouldn't this be kPurgeInterval? > Source/WebCore/platform/graphics/cg/ImageBufferBackingStoreCache.cpp:74 > +ImageBufferBackingStoreCache::ImageBufferBackingStoreCache() Why did you move this into public?
(In reply to comment #3) > (From update of attachment 219905 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=219905&action=review > > > Source/WebCore/platform/graphics/cg/ImageBufferBackingStoreCache.cpp:32 > > +static const double purgeInterval = 5; > > shouldn't this be kPurgeInterval? I think you'll find that that's generally not the case, nor do I see anything in the style guide. > > Source/WebCore/platform/graphics/cg/ImageBufferBackingStoreCache.cpp:74 > > +ImageBufferBackingStoreCache::ImageBufferBackingStoreCache() > > Why did you move this into public? I didn't.
http://trac.webkit.org/changeset/161239