2016-09-26 2 views
0

저는 게임용 빠른 사격 프로그램에서 일하고 있습니다. 그리고 시간을 초월한 루프가있는 방법을 찾기 위해 주변을 검색하려고합니다. 이제는 Windows가 이해되지 않습니다. 실시간 운영체제 (RTOS), 나는 무엇을하기 위해 가장 신뢰할 수있는 방법이 될지 알고 싶습니다. 나의 현재 방법은 스레딩과 잠자기 뿐이다. 만약 당신이 가장 좋은 방법을 사용하여 코드 샘플을 제공 할 수 있다면 좋을 것입니다. 또한 측면 질문은 타이밍에 올 때 C++가 더 정확합니까?일관되고 정확한 시간에 맞춘 루프를 만들려고 시도합니다.

답변

2

전용 하드웨어로 작업하는 경우가 아니라면 동일한 시스템에서 다른 시스템을 실행하는 것을 제어 할 수 없으므로 루프의 타이밍에 어떤 종류의 일관성도 보장 할 수는 없지만 인수 분해를 통해 해결할 수 있습니다 루프를 반복 할 때마다 계산에 들어가는 시간.

이 용어는 일반적으로 게임 개발 컨텍스트의 마지막 프레임 이후의 시간 변화를 의미하는 delta-time입니다. 예를 들어 게임이 60fps로 실행되는 경우 델타 시간은 대개 약 16 밀리 초 또는 0.016 초 정도가됩니다.

델타 시간을 사용하여 검색을 시작하면 훨씬 더 유용한 결과를 얻을 수 있습니다. 예를 들어 : 정말 특정 어떤 게임을하려고하고 있지 않다

+0

, 난 그냥 루프와 키를 누르면 확인하고 키 입력을 시뮬레이션하고 있습니다. 나는 그것을 처리하는 최선의 가장 정확한 방법을 알아 내려고 노력하고 있습니다. – DaftHacker

+0

@DaftHacker : 결정적 타이밍을 가진 키 누름을 시뮬레이션 한 경우에도 수신 프로세스의 입력 이벤트 대기열에 배치됩니다. 수신 대기열은 처리 할 때 처리 할 수 ​​있습니다. 그래서 궁극적으로는 무의미합니다. – Clifford

관련 문제