Files
UnrealEngine/Engine/Source/Developer/Windows/LiveCodingServer/Private/External/LC_TimeStamp.cpp
2025-05-18 13:04:45 +08:00

65 lines
1.1 KiB
C++

// Copyright 2011-2020 Molecular Matters GmbH, all rights reserved.
#if LC_VERSION == 1
// BEGIN EPIC MOD
//#include PCH_INCLUDE
// END EPIC MOD
#include "LC_TimeStamp.h"
// BEGIN EPIC MOD
#include "Windows/WindowsHWrapper.h"
// END EPIC MOD
namespace timeStamp
{
double g_oneOverFrequency = 0.0;
double g_thousandOverFrequency = 0.0;
double g_millionOverFrequency = 0.0;
void Startup(void)
{
::LARGE_INTEGER frequency = {};
::QueryPerformanceFrequency(&frequency);
g_oneOverFrequency = 1.0 / frequency.QuadPart;
g_thousandOverFrequency = 1000.0 / frequency.QuadPart;
g_millionOverFrequency = 1000000.0 / frequency.QuadPart;
}
void Shutdown(void)
{
g_oneOverFrequency = 0.0;
g_thousandOverFrequency = 0.0;
g_millionOverFrequency = 0.0;
}
uint64_t Get(void)
{
::LARGE_INTEGER now = {};
::QueryPerformanceCounter(&now);
return static_cast<uint64_t>(now.QuadPart);
}
double ToSeconds(uint64_t count)
{
return count * g_oneOverFrequency;
}
double ToMilliSeconds(uint64_t count)
{
return count * g_thousandOverFrequency;
}
double ToMicroSeconds(uint64_t count)
{
return count * g_millionOverFrequency;
}
}
#endif