다음을 통해 공유


GameInput 작업 큐

GameInput API는 때로 입력 장치가 연결되거나 연결이 끊어지는 것과 같은 내부 비동기 이벤트를 처리해야 합니다. 이 이벤트는 발생 빈도가 낮습니다. 응용 프로그램이 더 자주 디스패치해야 하는 콜백을 등록할 수도 있습니다. 기본적으로 GameInput(은)는 이러한 이벤트에 서비스를 제공하기 위해 약간 높은 우선 순위(THREAD_PRIORITY_ABOVE_NORMAL)로 실행되는 작업자 스레드를 만듭니다.

이런 작업이 언제 발생하는지, 어떤 스레드/프로세서에서 발생하는지 더 세밀하게 제어하려는 응용 프로그램에서는 IGameInputDispatcher 인터페이스를 통해 이 이벤트 처리를 수동으로 제어할 수 있습니다. 이 인터페이스는 IGameInput 인터페이스에서 CreateDispatcher 메서드를 호출하여 구합니다. 이 인터페이스는 GameInput의 내부 작업 큐에서 작업을 수동으로 디스패치하는 데 사용되는 두 가지 메서드를 제공합니다. GameInput 작업 큐에서 보류 작업(있는 경우)을 디스패치하려면 Dispatch 메서드를 사용합니다. 응용 프로그램은 이 메서드를 주기적으로 호출할 수 있습니다. 또는 디스패처의 OpenWaitHandle 메서드에서 반환되는 핸들을 기다려 디스패치해야 하는 작업이 언제 큐에 들어갔는지 알 수 있습니다.

응용 프로그램은 디스패처 인터페이스에 대한 참조를 보유하는 한 작업 디스패치를 제어할 수 있습니다. 디스패처 인터페이스에 대한 모든 참조가 해제되면 GameInput(은)는 내부 작업자 스레드를 사용하여 서비스 이벤트로 돌아갑니다.

참고 항목

GameInput 기본 사항

고급 GameInput 항목

입력 API 참조