14 #include <vlutil/vlPerformanceStats.h>
34 class DtDynamicLibrary;
38 class DtOsgStatsHandler;
49 ProfilerOverlayStates_OFF = 0,
50 ProfilerOverlayStates_FPS = 1,
51 ProfilerOverlayStates_FULL = 2
54 const int NUM_PAGING_ENTRIES = 4;
63 , clocksThrottleReasons(0)
130 static const int GRAPH_ENTRIES = 180;
148 virtual void updateStats(
DtDe& de, osg::Camera* camera, osg::FrameStamp* frameStamp, osgDB::DatabasePager* databasePager,
int mipthreads);
151 virtual void createUI(osg::RenderInfo& renderInfo,
DtDe& de,
unsigned int state);
154 virtual int getNumberOf60HtzFrames();
157 virtual float getGoodFrameDuration();
160 virtual int getNumberOfBlownFrames();
163 virtual float getBlownFrameDuration();
166 virtual int getNumberOfVeryBlownFrames();
169 virtual float getVeryBlownFrameDuration();
172 virtual void reset();
178 virtual void updateGpuStats(
DtDe& de);
182 virtual void addIntStat(
const std::string& name,
int value);
186 virtual void addFloatStat(
const std::string& name,
float value);
190 virtual void addIntStat(
const std::string& subsystem,
const std::string& name,
int value);
194 virtual void addFloatStat(
const std::string& subsystem,
const std::string& name,
float value);
197 float getLastCullTime();
200 float getLastUpdateTime();
203 float getLastDrawTime();
206 float getLastGpuTime();
216 virtual void printOsgTextures(
void);
219 virtual void printVrvTextures(
void);
222 virtual void printVrvResidentTextures(
void);
225 virtual void printVrvResidentBuffers(
void);
232 PagingTime() : myPagingTime(0.0f), myPagingFrameCount(0) { ; }
233 PagingTime(
float pagingTime,
int count) : myPagingTime(pagingTime), myPagingFrameCount(count) { ; }
249 float myHistogramData[25];
250 float myBlownHistogramData[5];
253 float myFrameTimeArray[GRAPH_ENTRIES];
254 float myCullTimeArray[GRAPH_ENTRIES];
255 float myUpdateTimeArray[GRAPH_ENTRIES];
256 float myDrawTimeArray[GRAPH_ENTRIES];
257 float myGpuTimeArray[GRAPH_ENTRIES];
258 float my8ms[GRAPH_ENTRIES];
259 float my16ms[GRAPH_ENTRIES];
260 float my33ms[GRAPH_ENTRIES];
Profile node class stores timing data for a profiled section.
Definition: DtProfileNode.h:22
int myStateGraphCount
Definition: DtImGuiLoaderStatsData.h:111
int myCurrentIndex
Definition: DtImGuiLoaderStatsData.h:251
DtDynamicLibrary * myGpuPlugin
Definition: DtImGuiLoaderStatsData.h:280
std::map< std::string, float > floatStats
Definition: DtImGuiLoaderStatsData.h:274
int myLineCount
Definition: DtImGuiLoaderStatsData.h:119
Definition: DtImGuiLoaderStatsData.h:56
bool myEnableOsgCameraStats
Definition: DtImGuiLoaderStatsData.h:241
Structure for holding the stats from the osg camera rendering stats.
Definition: DtImGuiLoaderStatsData.h:106
GPUData myGpuState
Definition: DtImGuiLoaderStatsData.h:278
float myPagingTime
Definition: DtImGuiLoaderStatsData.h:234
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
float myFrameRunningAverage
Definition: DtImGuiLoaderStatsData.h:247
float myTimeSpentUnresponsive
Definition: DtImGuiLoaderStatsData.h:229
std::map< std::string, std::string > myNvidiaSmiLog
Definition: DtImGuiLoaderStatsData.h:279
unsigned int slowdownTemp
Definition: DtImGuiLoaderStatsData.h:71
std::map< std::string, std::vector< OsgObjectData > > myObjectInfoPrevious
Definition: DtImGuiLoaderStatsData.h:267
DatabasePagerData myLastDatabasePagerData
Definition: DtImGuiLoaderStatsData.h:239
std::map< std::string, int > intStats
Definition: DtImGuiLoaderStatsData.h:273
OsgSceneGraphCameraStats myLastOsgCameraStats
Definition: DtImGuiLoaderStatsData.h:240
DtTimedSection myTimedSection
Definition: DtImGuiLoaderStatsData.h:228
std::map< std::string, std::vector< OsgObjectData > > myObjectInfo
Definition: DtImGuiLoaderStatsData.h:266
unsigned int shutdownTemp
Definition: DtImGuiLoaderStatsData.h:70
int myLightCount
Definition: DtImGuiLoaderStatsData.h:108
unsigned long long clocksThrottleReasons
Definition: DtImGuiLoaderStatsData.h:73
std::map< std::string, std::vector< OsgObjectData > > myObjectsInBoth
Definition: DtImGuiLoaderStatsData.h:268
unsigned int maxTemp
Definition: DtImGuiLoaderStatsData.h:72
int myQuadStripCount
Definition: DtImGuiLoaderStatsData.h:126
int myTriangleCount
Definition: DtImGuiLoaderStatsData.h:122
int myPolygonCount
Definition: DtImGuiLoaderStatsData.h:127
osg::Object * myObject
Definition: DtImGuiLoaderStatsData.h:82
int myVertexCount
Definition: DtImGuiLoaderStatsData.h:116
DtOsgStatsHandler * myStats
Definition: DtImGuiLoaderStatsData.h:262
class that gathers per frame stats and puts up UI
Definition: DtImGuiLoaderStatsData.h:43
int mySamples
Definition: DtImGuiLoaderStatsData.h:242
int myLineStripCount
Definition: DtImGuiLoaderStatsData.h:120
int myQuadCount
Definition: DtImGuiLoaderStatsData.h:125
int myTriFanCount
Definition: DtImGuiLoaderStatsData.h:124
float myMaxFrameTime
Definition: DtImGuiLoaderStatsData.h:246
DtDe & myDe
Definition: DtImGuiLoaderStatsData.h:284
float myMaxYAxis
Definition: DtImGuiLoaderStatsData.h:245
int myDepthCount
Definition: DtImGuiLoaderStatsData.h:110
boost::signalslib::signal< void(unsigned int) > signal_addImguiTextureUI
Definition: DtImGuiLoaderStatsData.h:209
int dllAvailable
Definition: DtImGuiLoaderStatsData.h:75
float myPhase
Definition: DtImGuiLoaderStatsData.h:252
int myPrimitiveSetCount
Definition: DtImGuiLoaderStatsData.h:117
bool myOnlyShowDifferentCounts
Definition: DtImGuiLoaderStatsData.h:269
int myBinCount
Definition: DtImGuiLoaderStatsData.h:109
bool myEnableObjectProfiling
Definition: DtImGuiLoaderStatsData.h:265
unsigned int temp
Definition: DtImGuiLoaderStatsData.h:69
int myTriStripCount
Definition: DtImGuiLoaderStatsData.h:123
float myFrameDuration
Definition: DtImGuiLoaderStatsData.h:244
bool myAutoResetEnabled
Definition: DtImGuiLoaderStatsData.h:271
float myFrameRunningAverageMax
Definition: DtImGuiLoaderStatsData.h:248
GPUData()
Definition: DtImGuiLoaderStatsData.h:58
std::map< std::string, intStats > myIntStats
Definition: DtImGuiLoaderStatsData.h:275
PPP: 10/2021:
Definition: DtOsgStatsHandler.h:51
int myFastDrawableCount
Definition: DtImGuiLoaderStatsData.h:115
float myRefreshTime
Definition: DtImGuiLoaderStatsData.h:243
float myDDSThreads
Definition: DtImGuiLoaderStatsData.h:261
int myRefCount
Definition: DtImGuiLoaderStatsData.h:85
Definition: DtImGuiLoaderStatsData.h:230
Contains DLL export macros.
std::deque< PagingTime > myPagingTimeArray
Definition: DtImGuiLoaderStatsData.h:237
Definition: DtImGuiLoaderStatsData.h:78
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:70
PagingTime(float pagingTime, int count)
Definition: DtImGuiLoaderStatsData.h:233
PagingTime()
Definition: DtImGuiLoaderStatsData.h:232
int myDrawableCount
Definition: DtImGuiLoaderStatsData.h:113
int myPointCount
Definition: DtImGuiLoaderStatsData.h:118
std::string myClassName
Definition: DtImGuiLoaderStatsData.h:83
int myImposterCount
Definition: DtImGuiLoaderStatsData.h:112
int myPagingFrameCount
Definition: DtImGuiLoaderStatsData.h:235
virtual void setStatsHandler(DtOsgStatsHandler *stats)
gui handler
Definition: DtImGuiLoaderStatsData.h:175
int pState
Definition: DtImGuiLoaderStatsData.h:74
ProfilerOverlayStates
Definition: DtImGuiLoaderStatsData.h:47
int myLineLoopCount
Definition: DtImGuiLoaderStatsData.h:121
std::map< std::string, floatStats > myFloatStats
Definition: DtImGuiLoaderStatsData.h:276
int mySortedDrawableCount
Definition: DtImGuiLoaderStatsData.h:114
std::string myName
Definition: DtImGuiLoaderStatsData.h:84
addProc myAddGpuImguiUI
Definition: DtImGuiLoaderStatsData.h:282