-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
Today we cannot measure how long the GPU takes to execute a frame workload, except indirectly via any backpressure. Besides local profiling, we're mostly flying blind for small adjustments in GPU performance which is making it difficult to reason about "normal" execution.
For now, the measurements we use will be specific to the backend and will record data in the dart timeline. The specific designs are discussed in the linked issues, this is only for tracking. We will not be able to always guarantee the ability to trace GPU execution times. Some devices will not support the APIs required.
Metal
Vulkan
GLES
Tooling
For now we're using a trace counter, with single FrameTimeMS field. There has been some discussion about the best way to surface this from something like FrameTimings, but I don't have a solution yet.