게임 오브젝트의 속도는 FPS에 의해 방해받지 말고 대신 시간을 기준으로해야한다는 것을 읽었습니다. 드로잉 속도를 제한하지 않고 성능을 최대화하고 시간에 따라 일정한 로직 업데이트 속도를 제공하기 위해 업데이트 / 드로잉 코드를 분리하려면 어떻게해야합니까?
내 현재 의사 코드는 다음과 같습니다
loop
{
draw();
if (ticksElapsed() > 100)
{
update();
ticks+= ticksElapsed();
}
}
문제는 드로잉 코드가 update () 속도의 성능을 방해한다는 것입니다. 그리고 수면이 발생하면 그리기 / 논리 기능을 모두 제거하기 때문에 100 % CPU를 소비합니다.
또한 SDL을 사용하고 있으며 vsync 옵션이없는 것 같습니다. 또한 고정 및 가변 시간 스테핑이라는 용어에 대해 들었지만 sleep ()으로 어떻게 수행 할 수 있는지 잘 모르겠습니다.