mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
replace os.clock with preciser implementation
This commit is contained in:
parent
be4dda3646
commit
c7f35dd6be
3 changed files with 32 additions and 0 deletions
|
|
@ -327,3 +327,21 @@ bool platform::stdin_has_data() {
|
|||
return poll(&fds, 1, 0) == 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
double platform::clock() {
|
||||
#ifdef _WIN32
|
||||
FILETIME createTime, exitTime, kernelTime, userTime;
|
||||
|
||||
if (GetProcessTimes(GetCurrentProcess(), &createTime, &exitTime, &kernelTime, &userTime)) {
|
||||
ULARGE_INTEGER kernel, user;
|
||||
kernel.LowPart = kernelTime.dwLowDateTime;
|
||||
kernel.HighPart = kernelTime.dwHighDateTime;
|
||||
user.LowPart = userTime.dwLowDateTime;
|
||||
user.HighPart = userTime.dwHighDateTime;
|
||||
|
||||
return static_cast<double>(kernel.QuadPart + user.QuadPart) / 1000'0000.0;
|
||||
}
|
||||
#else
|
||||
return std::clock() / static_cast<double>(CLOCKS_PER_SEC);
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue