使用Chrono :: High_resolution_clock :: NOW()使用奇数行为
odd behaviour using chrono::high_resolution_clock::now()
我一直在研究各种游戏时序循环方法,例如Glenn Fiedler和DeWitter。我发现由于我自己的C 知识限制,难以理解的关键领域。有了这一点,我着手尝试实现自己的方法。...我考虑了一种尝试了解这些方法的好方法。
[edit1:我正在使用mingw-w64(x64-4.8.1-posix-seh-rev5)作为编译器]
[EDIT2:修改了代码和输出窗口,以包括第三计时器,QueryPerformanceCounter]
在尝试实现这一目标时,我遇到了以下问题:
最小代码:
#include <chrono>
#include <iostream>
#include <windows.h>
#include <stdio.h>
using namespace std;
using namespace chrono;
LARGE_INTEGER startqpc, stopqpc, li;
double PCFreq = 0.0;
void print()
{
for (int p=0; p<1000000; ) p += 1; //adjust till ms (steady) returns 1-2ms
}
int main()
{
for(int x=0; x<200; x += 1)
{
steady_clock::time_point start = steady_clock::now();
auto timePoint1 = chrono::high_resolution_clock::now();
if(!QueryPerformanceFrequency(&li))
cout << "QueryPerformanceFrequency failed!n";
PCFreq = double(li.QuadPart)/1000.0;
QueryPerformanceCounter(&startqpc);
print();
steady_clock::time_point finish = steady_clock::now();
auto timePoint2 = chrono::high_resolution_clock::now();
QueryPerformanceCounter(&stopqpc);
auto elapsedTime(timePoint2 - timePoint1);
double diff = (stopqpc.QuadPart - startqpc.QuadPart)/PCFreq;
cout << "Elapsed time: "
<< duration_cast<milliseconds>(finish - start).count() << "ms (steady) "
<< chrono::duration_cast<chrono::duration<float, milli >> (elapsedTime).count() << "ms (hires) "
<< diff << " (qpc) n";
}
}
出于比较目的,上述代码使用两个计时器。
在我的PC上,输出的输出如下:
Elapsed time: 1ms (steady) 0ms (hires) 1.8429 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.8429 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.85152 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 15.6001ms (hires) 1.85557 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.59283 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.25573 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.85072 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.85422 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1ms (steady) 15.6001ms (hires) 1.85099 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.31582 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.84964 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.52466 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 2ms (steady) 15.6ms (hires) 2.25169 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.26974 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84991 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84667 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.89518 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.87874 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.92213 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.87605 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.03126 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.87659 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.88467 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.24899 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.30316 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23579 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93263 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23552 (qpc)
Elapsed time: 2ms (steady) 15.6ms (hires) 2.42118 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.24522 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23471 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23848 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93425 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.9329 (qpc)
Elapsed time: 1ms (steady) 15.6001ms (hires) 1.85126 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.35355 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23687 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23633 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.2374 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23498 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.85449 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.0097 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.15441 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93263 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93425 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23579 (qpc)
Elapsed time: 2ms (steady) 15.6ms (hires) 2.04554 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.1121 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.01779 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.07222 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.9329 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93425 (qpc)
Elapsed time: 1ms (steady) 15.6001ms (hires) 1.95015 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.95177 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84587 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84533 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.85233 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.88278 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84667 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84533 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.88629 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.8588 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.06225 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23633 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93317 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.06009 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84533 (qpc)
Elapsed time: 1ms (steady) 15.6001ms (hires) 1.86284 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93425 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.02803 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.26839 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93398 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.93641 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93371 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93344 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.9329 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.02345 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.08731 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.9356 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93398 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.09 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93371 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.03072 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.19213 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.85287 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.9321 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93344 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93317 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93344 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93263 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.42711 (qpc)
Elapsed time: 1ms (steady) 15.6001ms (hires) 1.9418 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.9356 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.08947 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.9329 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93614 (qpc)
Elapsed time: 2ms (steady) 15.6ms (hires) 2.27702 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93614 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93317 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.08974 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.92698 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93317 (qpc)
Elapsed time: 2ms (steady) 15.6ms (hires) 2.09054 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.96066 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.96093 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84533 (qpc)
Elapsed time: 1ms (steady) 15.6001ms (hires) 1.91835 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84587 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.85233 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93317 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93317 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.23552 (qpc)
Elapsed time: 1ms (steady) 15.6ms (hires) 1.93102 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.07033 (qpc)
Elapsed time: 2ms (steady) 0ms (hires) 2.09405 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.9329 (qpc)
Elapsed time: 1ms (steady) 0ms (hires) 1.93263 (qpc)
Process returned 0 (0x0) execution time : 0.484 s
Press any key to continue.
使用 duration_cast<microseconds>(finish - start).count()/1000.0
进行stestend_clock,我们看到以下内容: -
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1.843ms (steady) 0ms (hires) 1.84317 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.846ms (steady) 0ms (hires) 1.84694 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1.877ms (steady) 0ms (hires) 1.87685 (qpc)
Elapsed time: 1.916ms (steady) 15.6ms (hires) 1.9162 (qpc)
Elapsed time: 1.906ms (steady) 0ms (hires) 1.90623 (qpc)
Elapsed time: 1.905ms (steady) 0ms (hires) 1.90515 (qpc)
Elapsed time: 1.909ms (steady) 0ms (hires) 1.90919 (qpc)
Elapsed time: 1.905ms (steady) 0ms (hires) 1.90542 (qpc)
Elapsed time: 1.905ms (steady) 0ms (hires) 1.90488 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.943ms (steady) 15.6ms (hires) 1.94287 (qpc)
Elapsed time: 1.872ms (steady) 0ms (hires) 1.87281 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.846ms (steady) 15.6001ms (hires) 1.8464 (qpc)
Elapsed time: 1.875ms (steady) 0ms (hires) 1.87497 (qpc)
Elapsed time: 2.033ms (steady) 0ms (hires) 2.03449 (qpc)
Elapsed time: 1.922ms (steady) 0ms (hires) 1.92293 (qpc)
Elapsed time: 1.922ms (steady) 0ms (hires) 1.92293 (qpc)
Elapsed time: 1.926ms (steady) 0ms (hires) 1.92698 (qpc)
Elapsed time: 2.004ms (steady) 15.6ms (hires) 2.00485 (qpc)
Elapsed time: 1.847ms (steady) 0ms (hires) 1.84748 (qpc)
Elapsed time: 1.847ms (steady) 0ms (hires) 1.84748 (qpc)
Elapsed time: 1.848ms (steady) 0ms (hires) 1.84856 (qpc)
Elapsed time: 1.849ms (steady) 0ms (hires) 1.84937 (qpc)
Elapsed time: 2.299ms (steady) 0ms (hires) 2.29938 (qpc)
Elapsed time: 3.497ms (steady) 15.6ms (hires) 3.49664 (qpc)
Elapsed time: 3.528ms (steady) 0ms (hires) 3.52843 (qpc)
Elapsed time: 2.299ms (steady) 0ms (hires) 2.29857 (qpc)
Elapsed time: 1.849ms (steady) 0ms (hires) 1.84937 (qpc)
Elapsed time: 1.848ms (steady) 0ms (hires) 1.84856 (qpc)
Elapsed time: 1.848ms (steady) 0ms (hires) 1.84856 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84263 (qpc)
Elapsed time: 1.854ms (steady) 0ms (hires) 1.85395 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.843ms (steady) 0ms (hires) 1.84371 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.8429 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.843ms (steady) 0ms (hires) 1.8429 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.861ms (steady) 0ms (hires) 1.86123 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 2.058ms (steady) 0ms (hires) 2.05848 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.881ms (steady) 0ms (hires) 1.88144 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.843ms (steady) 0ms (hires) 1.84371 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84209 (qpc)
Elapsed time: 1.896ms (steady) 0ms (hires) 1.89653 (qpc)
Elapsed time: 1.842ms (steady) 0ms (hires) 1.84236 (qpc)
Elapsed time: 1.843ms (steady) 0ms (hires) 1.84398 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.886ms (steady) 0ms (hires) 1.88656 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.85ms (steady) 15.6ms (hires) 1.85099 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.848ms (steady) 15.6001ms (hires) 1.84883 (qpc)
Elapsed time: 2.066ms (steady) 0ms (hires) 2.06683 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.888ms (steady) 0ms (hires) 1.88817 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.853ms (steady) 15.6ms (hires) 1.85341 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 2.056ms (steady) 0ms (hires) 2.05605 (qpc)
Elapsed time: 1.88ms (steady) 0ms (hires) 1.8809 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.882ms (steady) 0ms (hires) 1.88224 (qpc)
Elapsed time: 1.849ms (steady) 15.6ms (hires) 1.85018 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 2.243ms (steady) 0ms (hires) 2.24333 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.849ms (steady) 15.6ms (hires) 1.85018 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 2.109ms (steady) 0ms (hires) 2.10914 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84533 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 2.006ms (steady) 0ms (hires) 2.00647 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.852ms (steady) 15.6ms (hires) 1.8526 (qpc)
Elapsed time: 2.534ms (steady) 0ms (hires) 2.53463 (qpc)
Elapsed time: 2.368ms (steady) 0ms (hires) 2.3681 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84533 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84533 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.853ms (steady) 15.6ms (hires) 1.85368 (qpc)
Elapsed time: 1.843ms (steady) 0ms (hires) 1.84371 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84533 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.852ms (steady) 15.6ms (hires) 1.85233 (qpc)
Elapsed time: 1.849ms (steady) 0ms (hires) 1.8491 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84587 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.891ms (steady) 15.6001ms (hires) 1.89168 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.846ms (steady) 0ms (hires) 1.84587 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.846ms (steady) 15.6ms (hires) 1.8464 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84587 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.848ms (steady) 15.6ms (hires) 1.84829 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.846ms (steady) 15.6ms (hires) 1.84614 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.8456 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84506 (qpc)
Elapsed time: 1.872ms (steady) 15.6001ms (hires) 1.87281 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84452 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84587 (qpc)
Elapsed time: 1.844ms (steady) 0ms (hires) 1.84425 (qpc)
Elapsed time: 1.845ms (steady) 0ms (hires) 1.84479 (qpc)
Process returned 0 (0x0) execution time : 0.499 s
Press any key to continue
请注意,高分辨率时钟如何在0到15.6ms之间波动,并注意steady_clock比较。
我遇到的问题是,如果我要实现一个固定的游戏循环,其中update()代码更新实体位置恰好是1000/60(60个更新循环循环),即每16.666666etc MS-然后这非常接近返回的计时器波动值!真正的问题是,如果我还实施了一个累加器,以适应两个低于1000/60ms的游戏循环框架时间,并且一旦update()完成了任何剩余的剩余时间,则更新循环(在不规则的时间点)输入,而不是在不规则的时间点输入。应该。
上面的最小代码是否存在问题,如果没有,我是否应该关注任何适当的固定时间实现?此外,如果有相关的话,是否有任何方法可以隔离程序/线程,以免被System IRQ或其他投票事件中断吗?我猜想招聘计时器可能会受到这种打扰。
在您的标准库的std::chrono
。
我知道Visual C 中的一个错误,不确定您正在使用哪种编译器,但是如果对std::chrono
的支持是最近的添加剂,则可能仍然有一些缺陷。
如果您使用的是Visual C ,则应注意:
- C 标头的High_resolution_clock没有高分辨率
- stestend_clock类和clock()函数不符合C 11和C11标准
- 如何以毫秒为单位获取开始时间和 now() 之间的毫秒差异(以 C++为单位?
- 是否确保 2 个连续的 std::chrono::steady_clock::now() 不相等?
- python equivalent of std::chrono::steady_clock::now();
- Cassandra C++ MacOS High Sierra上的驱动程序:make:没有规则来制作目标
- C++使用 Visual Studio Code High Sierra 进行调试
- 如何找到纪元时间戳和 std::chrono::system_clock::now 之间的时差(以毫秒为单位)
- c++ 在 arduino 中传递 HIGH 和 LOW 的向量
- CMake 在 macOS High Sierra 上找不到 wxWidgets 库
- macOS High Sierra syslog 不起作用
- Opencv 未定义的符号用于架构 cv:imwrite Mac osX high Sierra.
- 在macOS High Sierra上使用Boost.Filesystem编译时的链接器错误
- CMAKE错误:C 11不支持Mac High Sierra
- High cpu loading. C++/sfml
- 无法链接到 OSX High Sierra 中的 libclang
- 标准::字符串::空的未定义符号错误;Mac OS High Sierra 上的 c++ 标准方法链接错误
- 两个结果的std :: chrono :: high_resolution_clock :: now()给出了〜270n
- 我可以使用 now() 将wait_until转换为wait_for吗?
- Mac OS High Sierra:操作系统升级无法在C++中制作
- QGraphicsView scaling with High DPI
- "std::chrono::system_clock::now().time_since_epoch()&qu