최근에 내 게임의 프레임 속도 지 터링 문제를 해결해 왔으며 최고의 해결책은 클래식 Fix Your Timestep 에서 Glenn Fiedler ( Gaffer on Games)가 제안한 것 같습니다! 조.
지금-나는 이미 업데이트에 고정 된 시간 단계를 사용하고 있습니다. 문제는 렌더링을 위해 제안 된 보간을 수행하지 않는다는 것입니다. 결과적으로 렌더링 속도가 업데이트 속도와 일치하지 않으면 프레임이 두 배로 건너 뛰거나 건너 뜁니다. 이것들은 시각적으로 눈에 띄게 나타납니다.
게임에 보간을 추가하고 싶습니다. 다른 사람들이이를 지원하기 위해 데이터와 코드를 어떻게 구성했는지 알고 싶습니다.
분명히 내 렌더러와 관련된 두 가지 게임 상태 정보 사본을 저장 (어디서 / 어떻게?)하여 보간 할 수 있도록해야합니다.
또한-스레딩을 추가하기에 좋은 장소 인 것 같습니다. 업데이트 스레드가 게임 상태 의 세 번째 복사본에서 작동 하고 다른 두 복사본은 렌더 스레드의 읽기 전용으로 남겨 둘 수 있다고 생각합니다 . (이것이 좋은 생각입니까?)
게임 상태가 2 ~ 3 가지 버전 인 경우 단일 버전보다 성능 및 훨씬 더 중요한 안정성 및 개발자 생산성 문제가 발생할 수 있습니다. 저는 특히 이러한 문제를 완화시키는 방법에 관심이 있습니다.
특히 게임 상태에서 오브젝트 추가 및 제거를 처리하는 방법에 대한 문제라고 생각합니다.
마지막으로, 일부 상태는 렌더링에 직접 필요하지 않거나 다른 버전 (예 : 단일 상태를 저장하는 타사 물리 엔진)을 추적하기가 너무 어려울 것 같습니다. 사람들은 그러한 시스템 내에서 이런 종류의 데이터를 처리했습니다.