verwendet Dies ist, wie ich das Spiel Schleife Griff:SDL/OpenGL-Spiel läuft zu schnell auf 144Hz-Bildschirm; kann nicht Vsync
while (running) {
diff = duration_cast<milliseconds>(end - start).count();
start = clock::now();
dt = diff/(16.0);
handleInput(); // get input
update(dt); // game logic
render(); // render game
SDL_GL_SwapWindow(window); // swap frame buffer
end = clock::now();
}
Es ist beabsichtigt, ein fester Zeitschritt Spiel auf 60FPS gesperrt zu sein (es ist eine Emulation eines SNES Spiels neu gemacht) aber es läuft 144 mal auf meinem 144hz Bildschirm, viel zu schnell. Vsync kann das nicht lösen, also was kann?
Vielleicht nicht 'update (dt);' bei jeder Iteration aufrufen. –
warum sollte ich nicht? – Accumulator
Weil die Aktualisierung jede 1/144 Sekunde zu schnell ist! –