이것은 어쨌든, 나를 실행하는 모든 Windows 컴퓨터에서 내 간단한 게임에서 동일한 속도로 동일한 속도를 보장하기 위해 시도 미친, 운전. 메신저는 1/60 값을 지정하고 마지막으로 호출 된 이후로 값이 경과 할 때까지 프레임 캔트가 실행되도록합니다. 어떤 문제로 인해 im은 1/60이 30hz와 같아서 60hz를 얻으려면 1/120로 설정해야합니다. 그것도 조금 더 빨라 60hz에 강타하지 않습니다.gameloop framerate 제어 문제
내가 여기에 붙여 넣으면 다른 사람이 틀린 것을 볼 수 있는지 알려 줄 수 있습니까? 어쩌면 그것을하는 더 정확한 방법일까요?
float controlFrameRate = 1./60 ;
while (gameIsRunning)
{
frameTime += (system->getElapsedTime()-lastTime);
lastTime = system->getElapsedTime();
if(frameTime > controlFrameRate)
{
gameIsRunning = system->update();
//do stuff with the game
frameTime = .0f;
}
}
젠체하는 사람은 프레임 속도를 강하게 받았을뿐만 아니라 내가 가지고있는 1./60!=60hz 문제를 해결했습니다. 당신은 천재였습니다. 건배. –
나는 그래픽 로직을 가능한 한 많이 새로 고치는 것이 현명하다. 즉, 프레임 타임 검사 이외의 렌더러에 대한 호출이 있습니까? –