From e22420f1f289c571ae4fbe8732ec9caa1922282d Mon Sep 17 00:00:00 2001 From: Aki Date: Sat, 2 Oct 2021 21:08:45 +0200 Subject: Replaced rdtsc with std clock --- Stars45/MachineInfo.cpp | 14 ++++++-------- Stars45/TimeSnap.h | 50 ------------------------------------------------- 2 files changed, 6 insertions(+), 58 deletions(-) delete mode 100644 Stars45/TimeSnap.h 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 + #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 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 -- cgit v1.1