On August 16, 2010, David Hyatt wrote:
There is a temporary method implemented by all ports called:
bool drawsUsingCopy() const; // If the image buffer has to render using a copied image, it will return true.
This method only exists right now because some of the ports are still copying. Once everyone has switched over to drawing the image buffer without making copies, then I can remove this method from the interface. HTMLCanvasElement is using it in order to cache a copy of the image for repeated drawing of a static canvas, so that the "copying" platforms don't suffer a performance degradation from my changes.
The OpenVG backend (should I ever get around to spare some more time reorganizing my commits and upstreaming more of it) will always need a copying fallback, because the size of the ImageBuffer might exceed the maximum OpenVG image size. So there's a fallback code path that uses plain EGL pbuffer surfaces instead, for which there is no formal maximum size, unless it's an implementation-specific one. Cheers, Jakob