Calling ReleaseSync one at a time causes needless flushes

NEW
Unassigned

Status

()

Core
Graphics: Layers
3 years ago
3 years ago

People

(Reporter: jrmuizel, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
ReleaseSync needs to do a flush of any writes to the locked surface. It looks like at least on some (and maybe all) hardware this ends up doing a flush of the current command queue. This means that our current pattern of AcquireSync, Draw, ReleaseSync will have an implicit flush after every ReleaseSync. This is likley not very good for performance.

If we AcquireSync for all of our source surfaces at the same time and then ReleaseSync them all we stand a better chance of not having bad performance.
(Reporter)

Updated

3 years ago
Component: Canvas: WebGL → Graphics: Layers
You need to log in before you can comment on or make changes to this bug.