Bug 1762021 Comment 0 Edit History

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

This profile has a lot of "Evict" and "Create" markers: https://share.firefox.dev/36yvYQq

The SurfacePool has a policy of keeping only up to 20 surfaces at the end of the frame. This profile was recorded with a window size of 6720x3574 and a full-window animation, which requires 49 layers to be painted every frame. And the rendering was GPU intensive such that the IOSurfaces remained "in use" for multiple frames.

We should tweak the SurfacePool eviction behavior to handle this case better. For example, we could keep unused surfaces around for up to 3 frames. Or we could limit the number of surfaces we evict each frame.
This profile has a lot of "Evict" and "Create" markers: https://share.firefox.dev/36yvYQq

The SurfacePool has a policy of keeping only up to 20 unused surfaces at the end of the frame. This profile was recorded with a window size of 6720x3574 and a full-window animation, which requires 49 layers to be painted every frame. And the rendering was GPU intensive such that the IOSurfaces remained "in use" for multiple frames.

We should tweak the SurfacePool eviction behavior to handle this case better. For example, we could keep unused surfaces around for up to 3 frames. Or we could limit the number of surfaces we evict each frame.

Back to Bug 1762021 Comment 0