[Webkit-unassigned] [Bug 90375] Parallel image decoders

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jul 18 11:54:22 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=90375





--- Comment #30 from Hin-Chung Lam <hclam at google.com>  2012-07-18 11:54:19 PST ---
(In reply to comment #28)
> (In reply to comment #26)
> 
> It seems RenderingLayerBacking is the only place where one of metadata friends is used to trigger parallel image decoding in the current code paths.
> 
> We've realized that we don't need to use parallel image decoding for these metadata friends.
> 
> So we will change our implementation to use parallel image decoders only when we need to paint images.

That makes sense. My observation of the code is that those metadata functions are supposed to return default values when a frame is not ready (being not downloaded) as of todays, so I think they probably don't need any handling.

If the starting point for parallel image decoding is just when painting a BitmapImage to GraphicsContext, I wonder if it will make the intention clearer something like:

drawImage(xxx, bool prepareImageAsynchronouslyIfPossible = false);

Under the hood GraphicsContext all your changes including ParallelImageDecoder remains the same. My point is this eliminates using a type (RetainedModeBitmapImage) to denote the desired behavior of image decoding caused by painting, instead have this built-in to the painting methods.

One other tiny performance benefit of this is when GraphicsContext detects the frame is not ready and skip painting an empty frame.

What do you think?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list