移动设备上的帧率和游戏循环

时间:2013-09-30 20:23:16

标签: android ios android-ndk frame-rate game-loop

我正在搜索如何在移动设备上管理游戏帧速率,这是我的问题:

在有类似内容的计算机上

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 个答案:

答案 0 :(得分:0)

我发现你发布的Game Loop链接非常直接,他运行了一个帖子,然后检查这些线路中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++;
        }