手机上的帧率和游戏循环
Posted
技术标签:
【中文标题】手机上的帧率和游戏循环【英文标题】:Framerate and game loop on mobile 【发布时间】:2013-09-30 20:23:15 【问题描述】:我正在寻找如何在移动设备上管理游戏帧率,这是我的问题:
在具有类似功能的计算机上:
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),并且我的渲染方法是从另一个线程调用的
感谢您的帮助!
【问题讨论】:
【参考方案1】:我发现您发布的 GameLoop 链接非常直接,他运行了一个线程,该线程依次检查在这些行中调用 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++;
【讨论】:
以上是关于手机上的帧率和游戏循环的主要内容,如果未能解决你的问题,请参考以下文章
Unity3DUnity 游戏画面帧更新 ( 游戏帧相关概念 | MonoBehaviour#Update() 帧更新方法 | 帧更新时间统计 | 设置游戏更新帧率 )