NEW 101426
Coordinated Graphics: Decode an image directly into a GraphicsSurface.
https://bugs.webkit.org/show_bug.cgi?id=101426
Summary Coordinated Graphics: Decode an image directly into a GraphicsSurface.
Dongseong Hwang
Reported 2012-11-06 21:22:37 PST
We need to decode an image directly into a GraphicsSurface when the image is directly composited image that RenderLayerBacking give CoordinatedGraphicsLayer via setContentsToImage. If we make it, we can save temporary memory and remove a copy overhead.
Attachments
Partially working patch (30.74 KB, patch)
2012-11-13 10:48 PST, Noam Rosenthal
no flags
Noam Rosenthal
Comment 1 2012-11-13 10:48:13 PST
Created attachment 173925 [details] Partially working patch This shows how it can work, but I'm not sure yet if it's the way to go.
Dongseong Hwang
Comment 2 2013-03-12 01:01:18 PDT
I think you show the direction where we should go. I think it would be better if we can change only ImageDecoder without changing BitmapImage and ImageSource. I think we can do it as following chromium's approach. for instance, define as follow in NativeImagePtr.h #elif PLATFORM(QT) #if USE(GRAPHICS_SURFACE) typedef GraphicsSurface* NativeImagePtr; #else typedef QPixmap* NativeImagePtr; #endif and every image decoders access NativeImagePtr's pixel. btw, I think the most tricky blocker is caching mechanism of MemoryCache. MemoryCache needs to remove decoded data of CachedImage. But if MemoryCache removes directed-composited image, UI Process encounters null pointer exception. we need to make the plan for this.
Note You need to log in before you can comment on or make changes to this bug.