1

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

在一台电脑上有这样的东西:

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);
}

当我在互联网上搜索时,我每次都发现类似的东西:

-> 游戏循环

-> 修正你的时间步长

我正在使用 IOS(使用 GLKViewController)和 Android(使用 NDK),并且我的渲染方法是从另一个线程调用的

谢谢你的帮助!

4

1 回答 1

0

我发现您发布的 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++;
        }
于 2013-09-30T20:41:23.413 回答