Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::PerformanceMetrics Struct Reference

Queries are expensive, so this result MAY BE SEVERAL frames out of date! More...

#include <RenderAPIWrapper.h>

Public Attributes

F32 _gpuTimeInMS { 0.f }
 
U64 _verticesSubmitted { 0u }
 Returns the time in milliseconds that it took to render one frame.
 
U64 _primitivesGenerated { 0u }
 
U64 _tessellationPatches { 0u }
 Number of patches processed by the tessellation control shader.
 
U64 _tessellationInvocations { 0u }
 Number of times the tessellation control shader has been invoked.
 
U32 _generatedRenderTargetCount { 0u }
 
U64 _queuedGPUFrames { 0u }
 How many frames are still queued up for execution on the GPU.
 
U32 _syncObjectsInFlight [3] {}
 Number of active sync objects.
 
U32 _scratchBufferQueueUsage [2] {}
 Scratch buffer queue usage.
 
size_t _uniformBufferVRAMUsage {0u}
 Total VRAM used for shader uniform storage across all used shader programs.
 
size_t _bufferVRAMUsage { 0u }
 Total VRAM usage for all shader buffers.
 

Detailed Description

Queries are expensive, so this result MAY BE SEVERAL frames out of date!

Definition at line 81 of file RenderAPIWrapper.h.

Member Data Documentation

◆ _bufferVRAMUsage

size_t Divide::PerformanceMetrics::_bufferVRAMUsage { 0u }

Total VRAM usage for all shader buffers.

Definition at line 103 of file RenderAPIWrapper.h.

◆ _generatedRenderTargetCount

U32 Divide::PerformanceMetrics::_generatedRenderTargetCount { 0u }

Definition at line 93 of file RenderAPIWrapper.h.

◆ _gpuTimeInMS

F32 Divide::PerformanceMetrics::_gpuTimeInMS { 0.f }

Definition at line 83 of file RenderAPIWrapper.h.

◆ _primitivesGenerated

U64 Divide::PerformanceMetrics::_primitivesGenerated { 0u }

Returns the total number of vertices submitted between frame start and end (before swap buffers) Includes all vertices, including GUI and debug stuff (but the delta should still be useful)

Definition at line 88 of file RenderAPIWrapper.h.

◆ _queuedGPUFrames

U64 Divide::PerformanceMetrics::_queuedGPUFrames { 0u }

How many frames are still queued up for execution on the GPU.

Definition at line 95 of file RenderAPIWrapper.h.

◆ _scratchBufferQueueUsage

U32 Divide::PerformanceMetrics::_scratchBufferQueueUsage[2] {}

Scratch buffer queue usage.

Definition at line 99 of file RenderAPIWrapper.h.

◆ _syncObjectsInFlight

U32 Divide::PerformanceMetrics::_syncObjectsInFlight[3] {}

Number of active sync objects.

Definition at line 97 of file RenderAPIWrapper.h.

◆ _tessellationInvocations

U64 Divide::PerformanceMetrics::_tessellationInvocations { 0u }

Number of times the tessellation control shader has been invoked.

Definition at line 92 of file RenderAPIWrapper.h.

◆ _tessellationPatches

U64 Divide::PerformanceMetrics::_tessellationPatches { 0u }

Number of patches processed by the tessellation control shader.

Definition at line 90 of file RenderAPIWrapper.h.

◆ _uniformBufferVRAMUsage

size_t Divide::PerformanceMetrics::_uniformBufferVRAMUsage {0u}

Total VRAM used for shader uniform storage across all used shader programs.

Definition at line 101 of file RenderAPIWrapper.h.

◆ _verticesSubmitted

U64 Divide::PerformanceMetrics::_verticesSubmitted { 0u }

Returns the time in milliseconds that it took to render one frame.

Definition at line 85 of file RenderAPIWrapper.h.


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