aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/PerformanceTimer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/PerformanceTimer.cpp')
-rw-r--r--Minecraft.World/PerformanceTimer.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/Minecraft.World/PerformanceTimer.cpp b/Minecraft.World/PerformanceTimer.cpp
new file mode 100644
index 00000000..5ed7ee0c
--- /dev/null
+++ b/Minecraft.World/PerformanceTimer.cpp
@@ -0,0 +1,35 @@
+#include "stdafx.h"
+#include "PerformanceTimer.h"
+
+PerformanceTimer::PerformanceTimer()
+{
+#ifndef _CONTENT_PACKAGE
+ // Get the frequency of the timer
+ LARGE_INTEGER qwTicksPerSec;
+ QueryPerformanceFrequency( &qwTicksPerSec );
+ m_fSecsPerTick = 1.0f / (float)qwTicksPerSec.QuadPart;
+
+ Reset();
+#endif
+}
+
+void PerformanceTimer::Reset()
+{
+#ifndef _CONTENT_PACKAGE
+ QueryPerformanceCounter( &m_qwStartTime );
+#endif
+}
+
+void PerformanceTimer::PrintElapsedTime(const wstring &description)
+{
+#ifndef _CONTENT_PACKAGE
+ LARGE_INTEGER qwNewTime, qwDeltaTime;
+
+ QueryPerformanceCounter( &qwNewTime );
+
+ qwDeltaTime.QuadPart = qwNewTime.QuadPart - m_qwStartTime.QuadPart;
+ float fElapsedTime = m_fSecsPerTick * ((FLOAT)(qwDeltaTime.QuadPart));
+
+ app.DebugPrintf("TIMER: %ls: Elapsed time %f\n", description.c_str(), fElapsedTime);
+#endif
+} \ No newline at end of file