Per-frame cost counters for editor rendering diagnostics. More...
#include "donner/editor/FrameCostBreakdown.h"
Classes | |
| struct | MainFrame |
| Editor-shell work that runs on the UI thread during one runFrame. More... | |
| struct | HostFrame |
| Host-window work bracketing the editor frame. More... | |
| struct | DirectPresentation |
| Direct WGPU document presentation work completed in the previous host frame. More... | |
| struct | Overlay |
| Cost counters for capturing and presenting selection/source-hover chrome. More... | |
| struct | CompositedUpload |
| Cost counters for uploading compositor tiles into presentation textures. More... | |
| struct | CompositedRender |
| Worker-side compositor raster costs for the render result that landed this UI frame. More... | |
| struct | SourceRopes |
| Cost counters for source-focus reference rope layout, simulation, and drawing. More... | |
Public Attributes | |
| MainFrame | mainFrame |
| UI-thread frame preparation and widget costs. | |
| HostFrame | hostFrame |
| Host frame setup and presentation costs. | |
| DirectPresentation | directPresentation |
| Costs of drawing document content directly into the host target. | |
| Overlay | overlay |
| Selection and tool-chrome capture and draw costs. | |
| CompositedUpload | compositedUpload |
| Costs of registering or uploading composited tile textures. | |
| CompositedRender | compositedRender |
| Worker costs for retained and immediate compositor rendering. | |
| SourceRopes | sourceRopes |
| Source-focus rope layout, simulation, and drawing costs. | |
| std::uint64_t | documentCanvasCommitCount = 0 |
| Cumulative number of full-document canvas-size commits since document load. | |
| std::uint64_t | renderRequestsPosted = 0 |
| Cumulative number of render requests posted to the async worker since document load. Lets tests assert gesture-time scheduling behavior. | |
| Vector2i | lastCommittedCanvasSize = Vector2i::Zero() |
| Most recent full-document canvas size committed through the SVG document. | |
Per-frame cost counters for editor rendering diagnostics.
| struct donner::editor::FrameCostBreakdown::MainFrame |
Editor-shell work that runs on the UI thread during one runFrame.
| struct donner::editor::FrameCostBreakdown::HostFrame |
Host-window work bracketing the editor frame.
| struct donner::editor::FrameCostBreakdown::DirectPresentation |
Direct WGPU document presentation work completed in the previous host frame.
| struct donner::editor::FrameCostBreakdown::Overlay |
Cost counters for capturing and presenting selection/source-hover chrome.
| Class Members | ||
|---|---|---|
| int | aabbCount = 0 | Selection axis-aligned bounding boxes captured. |
| Vector2i | canvasSize = Vector2i::Zero() | Viewport overlay size that would have been rasterized before immediate presentation. |
| double | captureMs = 0.0 | Milliseconds spent capturing live DOM selection chrome into a snapshot. |
| double | drawMs = 0.0 | Milliseconds spent drawing the captured chrome snapshot into a retained overlay payload. Zero for the editor's immediate screen-space overlay path. |
| int | handleCount = 0 | Selection transform handles captured. |
| bool | hasLiveDragPreview = false | True when a live drag preview was available while capturing the overlay. |
| bool | hasMarquee = false | True when the overlay snapshot included a marquee rectangle. |
| bool | hasRepresentedDragPreview = false | True when overlay chrome was projected to a represented drag preview for presentation. |
| int | hoverAabbCount = 0 | Source-hover axis-aligned bounding boxes captured. |
| int | hoverPathCount = 0 | Source-hover path items captured from geometry leaves. |
| Vector2d | liveDragTranslationDoc = Vector2d::Zero() | Live document-space drag translation at overlay capture time. |
| int | pathCount = 0 | Selection path items captured from geometry leaves. |
| uint64_t | payloadBytes = 0 | Approximate retained overlay payload bytes. Zero for immediate screen-space presentation. |
| Vector2d | representedDragTranslationDoc = Vector2d::Zero() | Document-space drag translation represented by the overlay presented this frame. |
| int | selectedElementCount = 0 | Document elements selected when the overlay snapshot was captured. |
| bool | selectionBoundsOnly = false | True when selected chrome used the large-selection combined-bounds LOD path. |
| double | snapshotMs = 0.0 | Milliseconds spent ending the renderer frame and acquiring a retained overlay payload. Zero for the editor's immediate screen-space overlay path. |
| int | sourceHoverElementCount = 0 | Source-hover elements included in the overlay snapshot. |
| double | uploadMs = 0.0 | Milliseconds spent handing a retained overlay payload to the presentation texture cache. Zero for the editor's immediate screen-space overlay path. |
| struct donner::editor::FrameCostBreakdown::CompositedUpload |
Cost counters for uploading compositor tiles into presentation textures.
| struct donner::editor::FrameCostBreakdown::CompositedRender |
Worker-side compositor raster costs for the render result that landed this UI frame.
| struct donner::editor::FrameCostBreakdown::SourceRopes |
Cost counters for source-focus reference rope layout, simulation, and drawing.
| CompositedRender donner::editor::FrameCostBreakdown::compositedRender |
Worker costs for retained and immediate compositor rendering.
| CompositedUpload donner::editor::FrameCostBreakdown::compositedUpload |
Costs of registering or uploading composited tile textures.
| DirectPresentation donner::editor::FrameCostBreakdown::directPresentation |
Costs of drawing document content directly into the host target.
| std::uint64_t donner::editor::FrameCostBreakdown::documentCanvasCommitCount = 0 |
Cumulative number of full-document canvas-size commits since document load.
| HostFrame donner::editor::FrameCostBreakdown::hostFrame |
Host frame setup and presentation costs.
| Vector2i donner::editor::FrameCostBreakdown::lastCommittedCanvasSize = Vector2i::Zero() |
Most recent full-document canvas size committed through the SVG document.
| MainFrame donner::editor::FrameCostBreakdown::mainFrame |
UI-thread frame preparation and widget costs.
| Overlay donner::editor::FrameCostBreakdown::overlay |
Selection and tool-chrome capture and draw costs.
| std::uint64_t donner::editor::FrameCostBreakdown::renderRequestsPosted = 0 |
Cumulative number of render requests posted to the async worker since document load. Lets tests assert gesture-time scheduling behavior.
| SourceRopes donner::editor::FrameCostBreakdown::sourceRopes |
Source-focus rope layout, simulation, and drawing costs.