Donner 0.8.0-pre
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
donner::editor::FrameCostBreakdown Struct Reference

Per-frame cost counters for editor rendering diagnostics. More...

#include "donner/editor/FrameCostBreakdown.h"

Collaboration diagram for donner::editor::FrameCostBreakdown:
[legend]

Classes

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

Overlay overlay
CompositedUpload compositedUpload
CompositedRender compositedRender
SourceRopes sourceRopes
std::uint64_t documentCanvasCommitCount = 0
 Cumulative number of full-document canvas-size commits since document load.
Vector2i lastCommittedCanvasSize = Vector2i::Zero()
 Most recent full-document canvas size committed through the SVG document.

Detailed Description

Per-frame cost counters for editor rendering diagnostics.


Class Documentation

◆ donner::editor::FrameCostBreakdown::Overlay

struct donner::editor::FrameCostBreakdown::Overlay

Cost counters for capturing and presenting selection/source-hover chrome.

Collaboration diagram for donner::editor::FrameCostBreakdown::Overlay:
[legend]
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.

◆ donner::editor::FrameCostBreakdown::CompositedUpload

struct donner::editor::FrameCostBreakdown::CompositedUpload

Cost counters for uploading compositor tiles into presentation textures.

Class Members
int bitmapPayloadTileCount = 0 Number of tiles with a fresh CPU bitmap payload.
int immediateTileCount = 0 Number of transient immediate-mode compositor tiles.
int metadataOnlyTileCount = 0 Number of metadata-only tiles that reused an existing presentation texture.
uint64_t payloadBytes = 0 Approximate bytes carried by tiles with fresh bitmap or GPU texture payloads.
uint64_t payloadPixelArea = 0 Pixel area carried by tiles with fresh bitmap or GPU texture payloads.
int payloadTileCount = 0 Number of tiles with a fresh bitmap or GPU texture payload.
int texturePayloadTileCount = 0 Number of tiles with a fresh backend texture payload.
int tileCount = 0 Number of compositor tiles in the uploaded preview.
uint64_t tilePixelArea = 0 Pixel area represented by every tile, including metadata-only reuse.
double uploadMs = 0.0 Milliseconds spent in the presentation texture cache upload path.

◆ donner::editor::FrameCostBreakdown::CompositedRender

struct donner::editor::FrameCostBreakdown::CompositedRender

Worker-side compositor raster costs for the render result that landed this UI frame.

Class Members
double cachedMs = 0.0 Milliseconds spent rendering retained cached segment/layer tiles.
int cachedTileCount = 0 Cached segment/layer tiles rendered this frame.
double immediateMs = 0.0 Milliseconds spent rendering transient immediate-mode spans.
int immediateTileCount = 0 Immediate-mode static spans rendered this frame.

◆ donner::editor::FrameCostBreakdown::SourceRopes

struct donner::editor::FrameCostBreakdown::SourceRopes

Cost counters for source-focus reference rope layout, simulation, and drawing.

Class Members
int activeStateCount = 0 Number of active rope simulation states retained after pruning.
int candidateCount = 0 Number of links considered from the active focus partition.
int culledCount = 0 Number of links culled before draw because their route is outside the visible text region.
double drawMs = 0.0 Milliseconds spent issuing ImGui draw commands for source reference links.
int drawnCount = 0 Number of links drawn this frame.
int laidOutCount = 0 Number of links with a visible screen-space connector layout.
double layoutMs = 0.0 Milliseconds spent mapping source reference links to screen-space connector layout.
int staticDrawnCount = 0 Number of overflow links drawn as static connectors instead of animated ropes.
double updateMs = 0.0 Milliseconds spent updating rope simulation/path/hit-test state.

Member Data Documentation

◆ compositedRender

CompositedRender donner::editor::FrameCostBreakdown::compositedRender

◆ compositedUpload

CompositedUpload donner::editor::FrameCostBreakdown::compositedUpload

◆ documentCanvasCommitCount

std::uint64_t donner::editor::FrameCostBreakdown::documentCanvasCommitCount = 0

Cumulative number of full-document canvas-size commits since document load.

◆ lastCommittedCanvasSize

Vector2i donner::editor::FrameCostBreakdown::lastCommittedCanvasSize = Vector2i::Zero()

Most recent full-document canvas size committed through the SVG document.

◆ overlay

Overlay donner::editor::FrameCostBreakdown::overlay

◆ sourceRopes

SourceRopes donner::editor::FrameCostBreakdown::sourceRopes

The documentation for this struct was generated from the following file: