En azından, bir OpenGL Android oyunu bir UI iş parçacığına ve tarafından oluşturulan bir Renderer iş parçacığına sahiptir GLSurfaceView
. Renderer.onDrawFrame()
En yüksek FPS'yi elde etmek için minimum miktarda çalışma yapmalısınız. Fizik, AI, vb. Her kareyi çalıştırmak zorunda değildir, bu yüzden bunları başka bir başlığa koyabiliriz. Şimdi biz var:
- Renderer thread - Animasyonları güncelle ve polys çiz
- Oyun Konu - Mantık ve periyodik fizik, AI, vb güncellemeleri
- UI thread - Yalnızca Android UI etkileşimi
UI iş parçacığını engellemek istemediğiniz için, oyun mantığı için bir iş parçacığı daha çalıştırıyorum. Belki bu gerekli değil mi? Hiç işleyici iş parçacığında oyun mantığı çalıştırmak için bir neden var mı?