OpenGL Android 게임에는 최소한 UI 스레드와 님이 만든 렌더러 스레드가 GLSurfaceView
있습니다. Renderer.onDrawFrame()
최대 FPS를 얻기 위해 최소한의 작업을 수행해야합니다. 물리, AI 등은 모든 프레임을 실행할 필요가 없으므로 다른 스레드에 넣을 수 있습니다. 이제 우리는 :
- 렌더러 스레드-애니메이션 업데이트 및 폴리 그리기
- 게임 스레드-논리 및주기 물리, AI 등 업데이트
- UI 스레드-Android UI 상호 작용 만
UI 스레드를 차단하고 싶지 않기 때문에 게임 논리에 대해 하나 이상의 스레드를 실행합니다. 그래도 필요하지 않습니까? 렌더러 스레드에서 게임 로직을 실행해야하는 이유가 있습니까?