14 #include <vlutil/vlPerformanceStats.h>
33 class DtDynamicLibrary;
48 ProfilerOverlayStates_OFF = 0,
49 ProfilerOverlayStates_FPS = 1,
50 ProfilerOverlayStates_FULL = 2
53 const int NUM_PAGING_ENTRIES = 4;
62 , clocksThrottleReasons(0)
124 static const int GRAPH_ENTRIES = 180;
130 virtual void updateStats(
DtDe& de, osg::Camera* camera, osg::FrameStamp *frameStamp, osgDB::DatabasePager* databasePager,
int mipthreads);
132 virtual void createUI( osg::RenderInfo& renderInfo,
DtDe& de,
unsigned int state);
135 virtual int getNumberOf60HtzFrames();
137 virtual float getGoodFrameDuration();
140 virtual int getNumberOfBlownFrames();
142 virtual float getBlownFrameDuration();
145 virtual int getNumberOfVeryBlownFrames();
147 virtual float getVeryBlownFrameDuration();
150 virtual void reset();
156 virtual void updateGpuStats(
DtDe& de);
160 virtual void addIntStat(
const std::string& name,
int value);
163 virtual void addFloatStat(
const std::string& name,
float value);
167 virtual void addIntStat(
const std::string& subsystem,
const std::string& name,
int value);
170 virtual void addFloatStat(
const std::string& subsystem,
const std::string& name,
float value);
173 float getLastCullTime();
175 float getLastUpdateTime();
177 float getLastDrawTime();
179 float getLastGpuTime();
190 PagingTime() : myPagingTime(0.0f), myPagingFrameCount(0) { ; }
191 PagingTime(
float pagingTime,
int count) : myPagingTime(pagingTime), myPagingFrameCount(count) { ; }
207 float myHistogramData[25];
208 float myBlownHistogramData[5];
211 float myFrameTimeArray[GRAPH_ENTRIES];
212 float myCullTimeArray[GRAPH_ENTRIES];
213 float myUpdateTimeArray[GRAPH_ENTRIES];
214 float myDrawTimeArray[GRAPH_ENTRIES];
215 float myGpuTimeArray[GRAPH_ENTRIES];
216 float my8ms[GRAPH_ENTRIES];
217 float my16ms[GRAPH_ENTRIES];
218 float my33ms[GRAPH_ENTRIES];
Profile node class stores timing data for a profiled section.
Definition: DtProfileNode.h:22
int myStateGraphCount
Definition: DtImGuiLoaderStatsData.h:105
int myCurrentIndex
Definition: DtImGuiLoaderStatsData.h:209
DtDynamicLibrary * myGpuPlugin
Definition: DtImGuiLoaderStatsData.h:238
std::map< std::string, float > floatStats
Definition: DtImGuiLoaderStatsData.h:232
int myLineCount
Definition: DtImGuiLoaderStatsData.h:113
Definition: DtImGuiLoaderStatsData.h:55
bool myEnableOsgCameraStats
Definition: DtImGuiLoaderStatsData.h:199
Structure for holding the stats from the osg camera rendering stats.
Definition: DtImGuiLoaderStatsData.h:100
GPUData myGpuState
Definition: DtImGuiLoaderStatsData.h:236
float myPagingTime
Definition: DtImGuiLoaderStatsData.h:192
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
float myFrameRunningAverage
Definition: DtImGuiLoaderStatsData.h:205
float myTimeSpentUnresponsive
Definition: DtImGuiLoaderStatsData.h:187
std::map< std::string, std::string > myNvidiaSmiLog
Definition: DtImGuiLoaderStatsData.h:237
unsigned int slowdownTemp
Definition: DtImGuiLoaderStatsData.h:70
std::map< std::string, std::vector< OsgObjectData > > myObjectInfoPrevious
Definition: DtImGuiLoaderStatsData.h:225
DatabasePagerData myLastDatabasePagerData
Definition: DtImGuiLoaderStatsData.h:197
std::map< std::string, int > intStats
Definition: DtImGuiLoaderStatsData.h:231
OsgSceneGraphCameraStats myLastOsgCameraStats
Definition: DtImGuiLoaderStatsData.h:198
DtTimedSection myTimedSection
Definition: DtImGuiLoaderStatsData.h:186
std::map< std::string, std::vector< OsgObjectData > > myObjectInfo
Definition: DtImGuiLoaderStatsData.h:224
unsigned int shutdownTemp
Definition: DtImGuiLoaderStatsData.h:69
int myLightCount
Definition: DtImGuiLoaderStatsData.h:102
unsigned long long clocksThrottleReasons
Definition: DtImGuiLoaderStatsData.h:72
std::map< std::string, std::vector< OsgObjectData > > myObjectsInBoth
Definition: DtImGuiLoaderStatsData.h:226
unsigned int maxTemp
Definition: DtImGuiLoaderStatsData.h:71
int myQuadStripCount
Definition: DtImGuiLoaderStatsData.h:120
int myTriangleCount
Definition: DtImGuiLoaderStatsData.h:116
int myPolygonCount
Definition: DtImGuiLoaderStatsData.h:121
osg::Object * myObject
Definition: DtImGuiLoaderStatsData.h:81
int myVertexCount
Definition: DtImGuiLoaderStatsData.h:110
DtStatsHandler * myStats
Definition: DtImGuiLoaderStatsData.h:220
class that gathers per frame stats and puts up UI
Definition: DtImGuiLoaderStatsData.h:42
int mySamples
Definition: DtImGuiLoaderStatsData.h:200
int myLineStripCount
Definition: DtImGuiLoaderStatsData.h:114
int myQuadCount
Definition: DtImGuiLoaderStatsData.h:119
int myTriFanCount
Definition: DtImGuiLoaderStatsData.h:118
float myMaxFrameTime
Definition: DtImGuiLoaderStatsData.h:204
float myMaxYAxis
Definition: DtImGuiLoaderStatsData.h:203
int myDepthCount
Definition: DtImGuiLoaderStatsData.h:104
int dllAvailable
Definition: DtImGuiLoaderStatsData.h:74
float myPhase
Definition: DtImGuiLoaderStatsData.h:210
int myPrimitiveSetCount
Definition: DtImGuiLoaderStatsData.h:111
bool myOnlyShowDifferentCounts
Definition: DtImGuiLoaderStatsData.h:227
int myBinCount
Definition: DtImGuiLoaderStatsData.h:103
virtual void setStatsHandler(DtStatsHandler *stats)
gui handler
Definition: DtImGuiLoaderStatsData.h:153
bool myEnableObjectProfiling
Definition: DtImGuiLoaderStatsData.h:223
unsigned int temp
Definition: DtImGuiLoaderStatsData.h:68
int myTriStripCount
Definition: DtImGuiLoaderStatsData.h:117
float myFrameDuration
Definition: DtImGuiLoaderStatsData.h:202
bool myAutoResetEnabled
Definition: DtImGuiLoaderStatsData.h:229
float myFrameRunningAverageMax
Definition: DtImGuiLoaderStatsData.h:206
GPUData()
Definition: DtImGuiLoaderStatsData.h:57
std::map< std::string, intStats > myIntStats
Definition: DtImGuiLoaderStatsData.h:233
int myFastDrawableCount
Definition: DtImGuiLoaderStatsData.h:109
float myRefreshTime
Definition: DtImGuiLoaderStatsData.h:201
float myDDSThreads
Definition: DtImGuiLoaderStatsData.h:219
int myRefCount
Definition: DtImGuiLoaderStatsData.h:84
Definition: DtImGuiLoaderStatsData.h:188
Contains DLL export macros.
std::deque< PagingTime > myPagingTimeArray
Definition: DtImGuiLoaderStatsData.h:195
Definition: DtImGuiLoaderStatsData.h:77
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
PagingTime(float pagingTime, int count)
Definition: DtImGuiLoaderStatsData.h:191
PagingTime()
Definition: DtImGuiLoaderStatsData.h:190
osgViewer::StatsHandler derived class used to fix a few problems that class has in VR-Vantage More sp...
Definition: DtStatsHandlerManager.h:53
int myDrawableCount
Definition: DtImGuiLoaderStatsData.h:107
int myPointCount
Definition: DtImGuiLoaderStatsData.h:112
std::string myClassName
Definition: DtImGuiLoaderStatsData.h:82
int myImposterCount
Definition: DtImGuiLoaderStatsData.h:106
int myPagingFrameCount
Definition: DtImGuiLoaderStatsData.h:193
int pState
Definition: DtImGuiLoaderStatsData.h:73
ProfilerOverlayStates
Definition: DtImGuiLoaderStatsData.h:46
int myLineLoopCount
Definition: DtImGuiLoaderStatsData.h:115
std::map< std::string, floatStats > myFloatStats
Definition: DtImGuiLoaderStatsData.h:234
int mySortedDrawableCount
Definition: DtImGuiLoaderStatsData.h:108
std::string myName
Definition: DtImGuiLoaderStatsData.h:83
addProc myAddGpuImguiUI
Definition: DtImGuiLoaderStatsData.h:240