Closed Bug 1646073 Opened 5 years ago Closed 5 years ago

Enable WebGL and WebXR SwapChain pooling on Android

Categories

(Core :: Graphics: CanvasWebGL, enhancement)

All
Android
enhancement

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: mortimergoro, Assigned: mortimergoro)

Details

Attachments

(1 file)

After https://phabricator.services.mozilla.com/D78533 patch, WebGL/WebXR are instancing surfaces every frame instead of using a pool. This is causing a performance hit on Android due to long SurfaceTexture destructor times (profile: https://share.firefox.dev/2z49nu5)

We need to enable poolong just on Android.

Assignee: nobody → imanol
  • Enable WebGL SwapChain pooling on Android. Creating and releasing Android Surfaces every frame causes a big performance hit due to AndroidSurface slow destructors bug.
  • Add a separate SwapChain for WebVR. We are already using separate SwapChains for WebXR (WebGLFramebuffer::mOpaqueSwapChain) but not for WebVR (it uses the canvas backbuffer).
Pushed by igorostizaga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/885e57be1978 Enable WebGL SwapChain pooling on Android. Use a separate SwapChain for WebVR. r=jgilbert
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: