Bug 1537961 Comment 5 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

We spent about 13% time for doing WebGL::mDefaultFB to VRScreen's front buffer in `WebGLContext.cpp`

2.02 %  `mozilla::WebGLContext::BlitBackbufferToCurDriverFB()`
2.34 %  `mozilla::gl::GLScreenBuffer::Swap()`
2.34 %  `mozilla::gl::GLScreenBuffer::Swap()` 
3.61 %  `mozilla::gl::SharedSurface_SurfaceTexture::Commit()`

For this profile, it seems like we can't see information about GV surface and Android surface. But at least, from `VRLayerChild::SubmitFrame()` to `gfxVRExternal`, I didn't see any copy.
We spent about 13% time for doing WebGL::mDefaultFB to VRScreen's front buffer in `WebGLContext.cpp`

2.02 %  `mozilla::WebGLContext::BlitBackbufferToCurDriverFB()`
2.34 %  `mozilla::gl::GLScreenBuffer::Swap()`
3.61 %  `mozilla::gl::SharedSurface_SurfaceTexture::Commit()`

For this profile, it seems like we can't see information about GV surface and Android surface. But at least, from `VRLayerChild::SubmitFrame()` to `gfxVRExternal`, I didn't see any copy.
We spent about 13% time for doing WebGL::mDefaultFB to VRScreen's front buffer in `WebGLContext.cpp`

2.02 %  `mozilla::WebGLContext::BlitBackbufferToCurDriverFB()`
2.34 %  `mozilla::gl::GLScreenBuffer::Swap()`
3.61 %  `mozilla::gl::SharedSurface_SurfaceTexture::Commit()`

At GLScreenBuffer::Swap(), we will try to recycle the existing TextureClient if the screen size is the same and attach the buffer to glContext. Finally, asking glContext swap the previous buffer with this new attached buffer. For this part, we didn't generate a new buffer and didn't have a copy either, but the gl attach() / swap() function calls take a lot of time.
 

Besides, according to this profile, it seems like we can't see information about GV surface and Android surface. But at least, from `VRLayerChild::SubmitFrame()` to `gfxVRExternal`, I didn't see any copy.
We spent about 13% time for doing WebGL::mDefaultFB to VRScreen's front buffer in `WebGLContext.cpp`

2.02 %  `mozilla::WebGLContext::BlitBackbufferToCurDriverFB()`
2.34 %  `mozilla::gl::GLScreenBuffer::Swap()`
3.61 %  `mozilla::gl::SharedSurface_SurfaceTexture::Commit()`

At GLScreenBuffer::Swap(), we will try to recycle the existing TextureClient if the screen size is the same and attach the buffer to glContext. Finally, asking glContext swap the previous buffer with this new attached buffer. For this part, we didn't generate a new buffer and didn't have a copy either, but the gl attach() / swap() function calls take a lot of time. It looks like we are waiting for GPU doing the BlitBackbufferToCurDriverFB().
 

Besides, according to this profile, it seems like we can't see information about GV surface and Android surface. But at least, from `VRLayerChild::SubmitFrame()` to `gfxVRExternal`, I didn't see any copy.

Back to Bug 1537961 Comment 5