@@ -43,7 +43,9 @@ SubsystemInterface::SubsystemInterface()
4343:m_curDrawTime(0 ),
4444m_startDrawTimeConsumed (0 ),
4545m_startTimeConsumed(0 ),
46- m_curUpdateTime(0 )
46+ m_curUpdateTime(0 ),
47+ m_dumpUpdate(false ),
48+ m_dumpDraw(false )
4749#endif
4850{
4951 if (TheSubsystemList) {
@@ -60,6 +62,7 @@ SubsystemInterface::~SubsystemInterface()
6062}
6163
6264#ifdef DUMP_PERF_STATS
65+ static const Real MIN_TIME_THRESHOLD = 0 .0002f ; // .2 msec. [8/13/2003]
6366void SubsystemInterface::UPDATE (void )
6467{
6568 __int64 startTime64;
@@ -72,8 +75,11 @@ void SubsystemInterface::UPDATE(void)
7275 m_curUpdateTime = ((double )(endTime64-startTime64))/((double )(freq64));
7376 Real subTime = s_msConsumed - m_startTimeConsumed;
7477 if (m_name.isEmpty ()) return ;
75- if (m_curUpdateTime > 0.00001 ) {
76- // DEBUG_LOG(("Subsys %s total time %.2f, subTime %.2f, net time %.2f",
78+ if (m_curUpdateTime>MIN_TIME_THRESHOLD ) {
79+ m_dumpUpdate = true ;
80+ }
81+ if (m_curUpdateTime > MIN_TIME_THRESHOLD /10 .0f ) {
82+ // DLOG(Debug::Format("Subsys %s total time %.2f, subTime %.2f, net time %.2f\n",
7783 // m_name.str(), m_curUpdateTime*1000, subTime*1000, (m_curUpdateTime-subTime)*1000 ));
7884
7985 m_curUpdateTime -= subTime;
@@ -95,8 +101,11 @@ void SubsystemInterface::DRAW(void)
95101 m_curDrawTime = ((double )(endTime64-startTime64))/((double )(freq64));
96102 Real subTime = s_msConsumed - m_startDrawTimeConsumed;
97103 if (m_name.isEmpty ()) return ;
98- if (m_curDrawTime > 0.00001 ) {
99- // DEBUG_LOG(("Subsys %s total time %.2f, subTime %.2f, net time %.2f",
104+ if (m_curDrawTime>MIN_TIME_THRESHOLD ) {
105+ m_dumpDraw = true ;
106+ }
107+ if (m_curDrawTime > MIN_TIME_THRESHOLD /10 .0f ) {
108+ // DLOG(Debug::Format("Subsys %s total time %.2f, subTime %.2f, net time %.2f\n",
100109 // m_name.str(), m_curUpdateTime*1000, subTime*1000, (m_curUpdateTime-subTime)*1000 ));
101110
102111 m_curDrawTime -= subTime;
@@ -203,15 +212,15 @@ AsciiString SubsystemInterfaceList::dumpTimesForAll()
203212 {
204213 SubsystemInterface* sys = *it;
205214 total += sys->getUpdateTime ();
206- if (sys->getUpdateTime ()> 0 . 00001f ) {
215+ if (sys->doDumpUpdate () ) {
207216 AsciiString curLine;
208217 curLine.format (" Time %02.2f MS update() %s \n " , sys->getUpdateTime ()*1000 .0f , sys->getName ().str ());
209218 buffer.concat (curLine);
210219 } else {
211220 misc += sys->getUpdateTime ();
212221 }
213222 total += sys->getDrawTime ();
214- if (sys->getDrawTime ()> 0 . 00001f ) {
223+ if (sys->doDumpDraw () ) {
215224 AsciiString curLine;
216225 curLine.format (" Time %02.2f MS draw () %s \n " , sys->getDrawTime ()*1000 .0f , sys->getName ().str ());
217226 buffer.concat (curLine);
0 commit comments