summaryrefslogtreecommitdiffhomepage
path: root/Stars45
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2021-10-02 21:08:45 +0200
committerAki <please@ignore.pl>2021-10-02 21:08:45 +0200
commite22420f1f289c571ae4fbe8732ec9caa1922282d (patch)
tree3f80bfad364e4f419074b31f4d84bb87206368ba /Stars45
parente9c3d5411eac83a9263fe911d9e946b17c1e966e (diff)
downloadstarshatter-e22420f1f289c571ae4fbe8732ec9caa1922282d.zip
starshatter-e22420f1f289c571ae4fbe8732ec9caa1922282d.tar.gz
starshatter-e22420f1f289c571ae4fbe8732ec9caa1922282d.tar.bz2
Replaced rdtsc with std clock
Diffstat (limited to 'Stars45')
-rw-r--r--Stars45/MachineInfo.cpp14
-rw-r--r--Stars45/TimeSnap.h50
2 files changed, 6 insertions, 58 deletions
diff --git a/Stars45/MachineInfo.cpp b/Stars45/MachineInfo.cpp
index 6b9e2cd..255fbb6 100644
--- a/Stars45/MachineInfo.cpp
+++ b/Stars45/MachineInfo.cpp
@@ -36,9 +36,10 @@
Collect and Display Machine, OS, and Driver Information
*/
+#include <chrono>
+
#include "MemDebug.h"
#include "MachineInfo.h"
-#include "Timesnap.h"
#define DIRECTINPUT_VERSION 0x0700
@@ -149,16 +150,13 @@ static double SpinWait(double target_time)
static double CalcCpuSpeed()
{
- DWORD clock1 = 0;
- DWORD clock2 = 0;
-
- TIMESNAP(clock1);
+ const auto before = std::chrono::high_resolution_clock::now();
double seconds = SpinWait(0.1);
- TIMESNAP(clock2);
-
- double clocks = clock2 - clock1;
+ const auto after = std::chrono::high_resolution_clock::now();
+ const std::chrono::duration<double> diff = after - before;
+ double clocks = diff.count();
return (clocks/seconds);
}
diff --git a/Stars45/TimeSnap.h b/Stars45/TimeSnap.h
deleted file mode 100644
index a8f77d2..0000000
--- a/Stars45/TimeSnap.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Starshatter OpenSource Distribution
- Copyright (c) 1997-2004, Destroyer Studios LLC.
- All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name "Destroyer Studios" nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-
- SUBSYSTEM: nGen.lib
- FILE: TimeSnap.h
- AUTHOR: John DiCamillo
-
-*/
-
-#ifndef TimeSnap_h
-#define TimeSnap_h
-
-// +--------------------------------------------------------------------+
-
-#define TIMESNAP(clock) _asm push eax\
- _asm push edx\
- _asm _emit 0x0F\
- _asm _emit 0x31\
- _asm mov clock, eax\
- _asm pop edx\
- _asm pop eax
-
-// +--------------------------------------------------------------------+
-
-#endif TimeSnap_h \ No newline at end of file