У меня 24 изображения, которые должны отображаться в окне на кадр. Если компьютер работает медленнее, чем ожидалось, некоторые изображения следует пропускать в зависимости от номера кадра. Как я знаю, какой кадр я должен сделать? вот код
__int64 cntsPerSec = 0;
QueryPerformanceFrequency((LARGE_INTEGER*)& cntsPerSec);
float secsPerCnt = 1.0f / (float)cntsPerSec;
__int64 prevTimeStamp = 0;
QueryPerformanceCounter((LARGE_INTEGER*)& prevTimeStamp);
__int64 currTimeStamp = 0;
float dt;
MSG msg; //declare a MSG local variable for the GetMessage of the while loop
msg.message = WM_NULL;
// Enter the infinite message loop
while (msg.message != WM_QUIT)
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
currTimeStamp = 0;
QueryPerformanceCounter((LARGE_INTEGER*)& currTimeStamp);
dt = (currTimeStamp - prevTimeStamp) * secsPerCnt;
imageIndex = GetFrameNumber(); <--------
Render(graphics, imageIndex);
// Prepare for next iteration
prevTimeStamp = currTimeStamp;
}