Diagnostics.FrameRecord
public readonly record struct Diagnostics.FrameRecordOne frame as the trace saw it: what was built for it, what it cost on each thread, and what the caches did while it was drawn.
Constructors
| Member | Description |
|---|---|
| One frame as the trace saw it: what was built for it, what it cost on each thread, and what the caches did while it was drawn.
|
Properties
| Member | Description |
|---|---|
| The renderer's name as it reports itself: "Metal", "OpenGL", "Vulkan", "Skia". |
| Resources released because nothing drawn used them any more. |
| Counts every record — rendered or reused — from one for this trace. |
| What the card spent, where the backend can measure it; filled in a frame or two late. |
| The render target, in device pixels. |
| Shadow, contact, scene and bloom — GPU cost where the backend brackets them. |
| UI-thread time spent building the snapshot this frame is the first to draw. |
| Always null. A guest renderer is handed a surface and never told when it reached the glass — nothing comes back from the compositor — so the time from submission to display is not measurable from here. See docs/pacing-and-present-health.md §3. The column exists so a host that can measure it has somewhere to put it. |
| Texture programs evaluated on the UI thread since the previous record. |
| Why the snapshot was rebuilt — "Structure, Transform", say — on the first frame that draws it, with "Program" added on a frame drawn because a texture program evaluated. Null when nothing was rebuilt. |
| How long the compositor took between the request for this frame and the render. |
| What the device's caches held after the frame — decoded pixels, on the software renderer. Null before a renderer exists. |
| True for a repaint answered with the previous frame rather than a render. |
| Samples per pixel the frame was rasterised with. |
| Which |
| Which snapshot was drawn. Unchanged across frames that rebuilt nothing. |
| Render-thread time from the start of the frame to the report being published. |
| When the render thread started on it, in milliseconds since the trace was made. |
| What those uploads weighed. |
| Textures and meshes uploaded during this frame. |