我正在搜索如何在手机设备上管理游戏帧速率,这是我的问题:
在一台电脑上,有这样的东西:
void main() { while(game.isRunning()) { event.handle(eventInfos); game.update(dt); graphic.render(); } }
在具有的移动设备上得到了类似的东西:
void update() { game.update(dt); } void render() { game.render(dt); } void event() { game.handle(eventInfos); }
当我在网上搜索时,每次都会发现这样的东西:
-> GameLoop
-> Fix your time step
我使用的是IOS(带有GLKViewController)和Android(带有NDK),我的渲染方法是从另一个线程调用
谢谢你的帮助!
我发现你发布的GameLoop链接非常直接,他运行了一个线程,然后检查调用的正确时间 update() 在这些行中
update()
while (sleepTime < 0 && framesSkipped < MAX_FRAME_SKIPS) { // we need to catch up // update without rendering this.gamePanel.update(); // add frame period to check if in next frame sleepTime += FRAME_PERIOD; framesSkipped++; }