14 #include <vlutil/vlPerformanceStats.h>
20 #include <unordered_map>
35 class DtDynamicLibrary;
39 class DtOsgStatsHandler;
50 ProfilerOverlayStates_OFF = 0,
51 ProfilerOverlayStates_FPS = 1,
52 ProfilerOverlayStates_FULL = 2
55 const int NUM_PAGING_ENTRIES = 4;
64 , clocksThrottleReasons(0)
131 static const int GRAPH_ENTRIES = 180;
149 virtual void updateStats(
DtDe& de, osg::Camera* camera, osg::FrameStamp* frameStamp, osgDB::DatabasePager* databasePager,
int mipthreads);
152 virtual void createUI(osg::RenderInfo& renderInfo,
DtDe& de,
unsigned int state);
155 virtual int getNumberOf60HtzFrames();
158 virtual float getGoodFrameDuration();
161 virtual int getNumberOfBlownFrames();
164 virtual float getBlownFrameDuration();
167 virtual int getNumberOfVeryBlownFrames();
170 virtual float getVeryBlownFrameDuration();
173 virtual void reset();
179 virtual void updateGpuStats(
DtDe& de);
183 virtual void addIntStat(
const std::string& name,
int value);
187 virtual void addFloatStat(
const std::string& name,
float value);
191 virtual void addIntStat(
const std::string& subsystem,
const std::string& name,
int value);
195 virtual void addFloatStat(
const std::string& subsystem,
const std::string& name,
float value);
198 float getLastCullTime();
201 float getLastUpdateTime();
204 float getLastDrawTime();
207 float getLastGpuTime();
214 virtual void printOsgTextures(
void);
217 void printOsgEarthGLMemory(
void);
220 virtual void printVrvTextures(
void);
223 virtual void printVrvBuffers(
void);
226 virtual void printTextureBreaksup(
const std::unordered_map<unsigned int, int>& textures);
233 PagingTime() : myPagingTime(0.0f), myPagingFrameCount(0) { ; }
234 PagingTime(
float pagingTime,
int count) : myPagingTime(pagingTime), myPagingFrameCount(count) { ; }
250 float myHistogramData[25];
251 float myBlownHistogramData[5];
254 float myFrameTimeArray[GRAPH_ENTRIES];
255 float myCullTimeArray[GRAPH_ENTRIES];
256 float myUpdateTimeArray[GRAPH_ENTRIES];
257 float myDrawTimeArray[GRAPH_ENTRIES];
258 float myGpuTimeArray[GRAPH_ENTRIES];
259 float my8ms[GRAPH_ENTRIES];
260 float my16ms[GRAPH_ENTRIES];
261 float my33ms[GRAPH_ENTRIES];
Profile node class stores timing data for a profiled section.
Definition: DtProfileNode.h:22
int myStateGraphCount
Definition: DtImGuiLoaderStatsData.h:112
int myCurrentIndex
Definition: DtImGuiLoaderStatsData.h:252
DtDynamicLibrary * myGpuPlugin
Definition: DtImGuiLoaderStatsData.h:281
std::map< std::string, float > floatStats
Definition: DtImGuiLoaderStatsData.h:275
int myLineCount
Definition: DtImGuiLoaderStatsData.h:120
Definition: DtImGuiLoaderStatsData.h:57
bool myEnableOsgCameraStats
Definition: DtImGuiLoaderStatsData.h:242
Structure for holding the stats from the osg camera rendering stats.
Definition: DtImGuiLoaderStatsData.h:107
GPUData myGpuState
Definition: DtImGuiLoaderStatsData.h:279
float myPagingTime
Definition: DtImGuiLoaderStatsData.h:235
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
float myFrameRunningAverage
Definition: DtImGuiLoaderStatsData.h:248
float myTimeSpentUnresponsive
Definition: DtImGuiLoaderStatsData.h:230
std::map< std::string, std::string > myNvidiaSmiLog
Definition: DtImGuiLoaderStatsData.h:280
unsigned int slowdownTemp
Definition: DtImGuiLoaderStatsData.h:72
std::map< std::string, std::vector< OsgObjectData > > myObjectInfoPrevious
Definition: DtImGuiLoaderStatsData.h:268
DatabasePagerData myLastDatabasePagerData
Definition: DtImGuiLoaderStatsData.h:240
std::map< std::string, int > intStats
Definition: DtImGuiLoaderStatsData.h:274
OsgSceneGraphCameraStats myLastOsgCameraStats
Definition: DtImGuiLoaderStatsData.h:241
DtTimedSection myTimedSection
Definition: DtImGuiLoaderStatsData.h:229
std::map< std::string, std::vector< OsgObjectData > > myObjectInfo
Definition: DtImGuiLoaderStatsData.h:267
unsigned int shutdownTemp
Definition: DtImGuiLoaderStatsData.h:71
int myLightCount
Definition: DtImGuiLoaderStatsData.h:109
unsigned long long clocksThrottleReasons
Definition: DtImGuiLoaderStatsData.h:74
std::map< std::string, std::vector< OsgObjectData > > myObjectsInBoth
Definition: DtImGuiLoaderStatsData.h:269
unsigned int maxTemp
Definition: DtImGuiLoaderStatsData.h:73
int myQuadStripCount
Definition: DtImGuiLoaderStatsData.h:127
int myTriangleCount
Definition: DtImGuiLoaderStatsData.h:123
int myPolygonCount
Definition: DtImGuiLoaderStatsData.h:128
osg::Object * myObject
Definition: DtImGuiLoaderStatsData.h:83
int myVertexCount
Definition: DtImGuiLoaderStatsData.h:117
DtOsgStatsHandler * myStats
Definition: DtImGuiLoaderStatsData.h:263
class that gathers per frame stats and puts up UI
Definition: DtImGuiLoaderStatsData.h:44
int mySamples
Definition: DtImGuiLoaderStatsData.h:243
int myLineStripCount
Definition: DtImGuiLoaderStatsData.h:121
int myQuadCount
Definition: DtImGuiLoaderStatsData.h:126
int myTriFanCount
Definition: DtImGuiLoaderStatsData.h:125
float myMaxFrameTime
Definition: DtImGuiLoaderStatsData.h:247
DtDe & myDe
Definition: DtImGuiLoaderStatsData.h:285
float myMaxYAxis
Definition: DtImGuiLoaderStatsData.h:246
int myDepthCount
Definition: DtImGuiLoaderStatsData.h:111
int dllAvailable
Definition: DtImGuiLoaderStatsData.h:76
float myPhase
Definition: DtImGuiLoaderStatsData.h:253
int myPrimitiveSetCount
Definition: DtImGuiLoaderStatsData.h:118
bool myOnlyShowDifferentCounts
Definition: DtImGuiLoaderStatsData.h:270
int myBinCount
Definition: DtImGuiLoaderStatsData.h:110
bool myEnableObjectProfiling
Definition: DtImGuiLoaderStatsData.h:266
unsigned int temp
Definition: DtImGuiLoaderStatsData.h:70
int myTriStripCount
Definition: DtImGuiLoaderStatsData.h:124
float myFrameDuration
Definition: DtImGuiLoaderStatsData.h:245
bool myAutoResetEnabled
Definition: DtImGuiLoaderStatsData.h:272
float myFrameRunningAverageMax
Definition: DtImGuiLoaderStatsData.h:249
GPUData()
Definition: DtImGuiLoaderStatsData.h:59
std::map< std::string, intStats > myIntStats
Definition: DtImGuiLoaderStatsData.h:276
PPP: 10/2021:
Definition: DtOsgStatsHandler.h:51
int myFastDrawableCount
Definition: DtImGuiLoaderStatsData.h:116
float myRefreshTime
Definition: DtImGuiLoaderStatsData.h:244
float myDDSThreads
Definition: DtImGuiLoaderStatsData.h:262
int myRefCount
Definition: DtImGuiLoaderStatsData.h:86
Definition: DtImGuiLoaderStatsData.h:231
Contains DLL export macros.
std::deque< PagingTime > myPagingTimeArray
Definition: DtImGuiLoaderStatsData.h:238
Definition: DtImGuiLoaderStatsData.h:79
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
PagingTime(float pagingTime, int count)
Definition: DtImGuiLoaderStatsData.h:234
PagingTime()
Definition: DtImGuiLoaderStatsData.h:233
int myDrawableCount
Definition: DtImGuiLoaderStatsData.h:114
int myPointCount
Definition: DtImGuiLoaderStatsData.h:119
std::string myClassName
Definition: DtImGuiLoaderStatsData.h:84
int myImposterCount
Definition: DtImGuiLoaderStatsData.h:113
int myPagingFrameCount
Definition: DtImGuiLoaderStatsData.h:236
virtual void setStatsHandler(DtOsgStatsHandler *stats)
gui handler
Definition: DtImGuiLoaderStatsData.h:176
int pState
Definition: DtImGuiLoaderStatsData.h:75
ProfilerOverlayStates
Definition: DtImGuiLoaderStatsData.h:48
int myLineLoopCount
Definition: DtImGuiLoaderStatsData.h:122
std::map< std::string, floatStats > myFloatStats
Definition: DtImGuiLoaderStatsData.h:277
int mySortedDrawableCount
Definition: DtImGuiLoaderStatsData.h:115
std::string myName
Definition: DtImGuiLoaderStatsData.h:85
addProc myAddGpuImguiUI
Definition: DtImGuiLoaderStatsData.h:283