Revised proposal for asynchronous drawing
bschouten at mozilla.com
Thu Mar 15 11:08:45 PDT 2012
Q: Why not expose a GLES interface for plugins to use?
A: There's a number of reasons why plugin vendors may want to use platform-specific accelerated rendering capabilities. D3D10 and 11 offer distinct functionality that would be hard to offer through a GLES 2 interface. In addition to that DXVA, Direct2D and other accelerated rendering technologies that plugin vendors might want to use would not work through this interface.
Q: Why choose DirectX over OpenGL? I'm surprised to see Mozilla
advocating for a Microsoft-proprietary API over an open standard like
A: Well, first of all the fact is that in DirectX we have a model to share textures across processes in a consistent manner. In addition to that there's an efficient synchronization method through IDXGIKeyedMutex. As listed above there's a number of reasons why plugin developers may want to use DirectX. Having said that none of the models in the list is mandatory, and the list is not finite. Other models may be added, for example one of our engineers has ideas for implementing the model on IOSurfaces for OpenGL texture sharing on OSX, again of course, this makes use of a proprietary technology.
Q: To phrase this a different way, do you expect other browser vendors to implement this API? It seems unlikely that Safari will implement it since it involves DirectX, which doesn't exist on OS X. From Darin's
message, it seems unlikely that Chrome will implement it either.
A: We hope so, the bitmap surface model should become available on all platforms and will offer several advantages over the existing models (if only consistency between platforms). As said the philosophy behind the API is not limited to DirectX or the bitmap drawing model. Having said that we will continue to support the traditional drawing models, however we cannot make them perform as well as the new proposal.
More information about the plugin-futures