Gondwana Game Engine Development (master) - 2.6.1
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop and web platforms using SkiaSharp for graphics and pluggable audio backends for desktop and browser targets.
Loading...
Searching...
No Matches
GpuRenderFrameDiagnostics.cs
1namespace Gondwana.Rendering;
2
16public sealed record GpuLayerRenderDiagnostics(
17 int LayerIndex,
18 string LayerId,
19 int ZOrder,
20 int DrawableCount,
21 int TileCount,
22 int TransformedTileCount,
23 int TileWidth,
24 int TileHeight,
25 double QueryAndSortMilliseconds,
26 double DrawMilliseconds);
27
38public sealed record GpuRenderFrameDiagnostics(
39 double TotalRenderMilliseconds,
40 double QueryAndSortMilliseconds,
41 double DrawMilliseconds,
42 double OverlayMilliseconds,
43 int DrawableCount,
44 int TileCount,
45 IReadOnlyList<GpuLayerRenderDiagnostics> Layers)
46{
48 public double QueryMilliseconds { get; init; }
49
51 public double SortMilliseconds { get; init; }
52
54 public int AtlasBatchCount { get; init; }
55
57 public int AtlasBatchedTileCount { get; init; }
58}
59
60
67 double LockWaitMilliseconds,
68 double LockHeldMilliseconds)
69{
71 public double ReplayMilliseconds { get; init; }
72
74 public double PictureReplayMilliseconds { get; init; }
75
77 public double BackbufferFlushMilliseconds { get; init; }
78
80 public double SnapshotMilliseconds { get; init; }
81
83 public double SnapshotAgeMilliseconds { get; init; }
85 public long PublishedSnapshots { get; init; }
87 public long DroppedSnapshots { get; init; }
89 public int SnapshotSlotsInUse { get; init; }
91 public int SnapshotCommandCount { get; init; }
92}
record GpuRenderSynchronizationDiagnostics(double LockWaitMilliseconds, double LockHeldMilliseconds)
Captures time spent waiting for and holding the shared live render-state synchronization gate.
record GpuLayerRenderDiagnostics(int LayerIndex, string LayerId, int ZOrder, int DrawableCount, int TileCount, int TransformedTileCount, int TileWidth, int TileHeight, double QueryAndSortMilliseconds, double DrawMilliseconds)
Captures the measured work performed for one scene layer during a full-frame GPU render.
record GpuRenderFrameDiagnostics(double TotalRenderMilliseconds, double QueryAndSortMilliseconds, double DrawMilliseconds, double OverlayMilliseconds, int DrawableCount, int TileCount, IReadOnlyList< GpuLayerRenderDiagnostics > Layers)
Captures measured scene-render work for one full-frame GPU render.