On Feb 23, 2013, at 10:15 PM, Kevin Gadd <kevin.g...@gmail.com> wrote:

> Are there any benchmarks that demonstrate OpenVG being faster on
> mobile hardware than say, SkiaGL? Does it have the full feature set

There are benchmarks showing that the OpenVG backend of cairo sped up WebKit 
significantly, including SVG.

> that Gecko tends to need in 2D scenarios?

>From a casual comparison of the API surface OpenVG supports every 
>functionality Azure needs.

> Having to render to a
> separate render target and then composite back into your OpenGL scene
> seems like it could cause some really bad overhead if you end up
> having to fall back to GL for things that VG can't do, because you'd
> end up bouncing between render targets repeatedly. It'd also increase
> the memory usage for each canvas since you'd need two RTs instead of
> one.

Again, as far as I can tell anything we do via Azure we can do in OpenVG. We 
can't run shaders in OpenVG, so the more advanced shader stuff coming to CSS we 
will have to do via a layer, but thats the plan anyway.

Nvidia has a proposal to integrate OpenVG-like path drawing with OpenGL 
(NV_path_rendering). That approach is strictly superior, but probably not 
available broadly for quite a while. Over time we will want to switch over to 
this if it becomes more common, but for now, especially for mobile, OpenVG 
seems attractive.

Andreas

> 
> -kg
> 
> On Sat, Feb 23, 2013 at 1:00 PM, Andreas Gal <g...@mozilla.com> wrote:
>> 
>> OpenVG is a Khronos standard API for GPU accelerated 2D rendering. Its very 
>> similar to OpenGL in design. In fact, its an alternative API to OpenGL ES on 
>> top of EGL. It looks like that OpenVG is supported on most Android devices 
>> and is used there by Flash (or well used to be used). B2G devices have 
>> OpenVG support as well. There are also a number of open source 
>> implementations of OpenVG that use OpenGL to accelerate 2D operations that 
>> might be interesting for the desktop. OpenVG is pretty similar to Cairo and 
>> Skia when it comes to the actual operations offered. The biggest drawback of 
>> OpenVG is that it doesn't mix well with OpenGL. Its possible to render with 
>> OpenVG to a texture and then composite that with OpenGL, but its not 
>> possible to do mixed rendering with VG and GL to the same surface. That 
>> having said, I still think we should consider adding an OpenVG backend. It 
>> would potentially significantly speed up rendering on mobile hardware. 
>> OpenVG is quite a bit more seasone
 d t
>> han Skia/SkiaGL, and explicitly targets mobile, whereas SkiaGL seems to be 
>> mostly optimized for the desktop (at least so far). A particular advantage 
>> of OpenVG is that it can take advantage of dedicated 2D acceleration 
>> hardware (Mali and Adreno both have special 2D hardware OpenVG uses). SkiaGL 
>> on the other hand is limited to using GLES to accelerate 2D drawing 
>> operations. What do people think. Should we add a OpenVG backed?
>> 
>> Andreas
>> _______________________________________________
>> dev-platform mailing list
>> dev-platform@lists.mozilla.org
>> https://lists.mozilla.org/listinfo/dev-platform

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to