0
\$\begingroup\$

I'm searching how to manage game framerate on mobiles devices, here is my problem:

On a computer with got something like that:

void main()
{
    while(game.isRunning())
    {
        event.handle(eventInfos);
        game.update(dt);
        graphic.render();
    }
}

On a mobile device with got something like that:

void update()
{
    game.update(dt);
}

void render()
{
    game.render(dt);
}

void event()
{
    game.handle(eventInfos);
}

When I search on internet, I found something like that everytime:

-> GameLoop

-> Fix your time step

I'm using IOS (With GLKViewController) and Android (with the NDK), and I've that rendering method is call from another thread

Thanks for your help!

\$\endgroup\$
  • \$\begingroup\$ The structure of the update/render functions is unrelated to desktop/mobile. For example, with love2d the render function is a callback too. The key difference is that for mobile you avoid drawing if nothing has changed, as battery life is at a premium. \$\endgroup\$ – congusbongus Oct 1 '13 at 1:42
1
\$\begingroup\$

To get the right amount of movement when using a update(dt) function you must multiply the movement speed against delta time (dt = the amount of time since last frame update). So your position update could look like: newPosition = oldPosition + (moveSpeed * dt)

I hope this helps, I dont really understand what you mean by 'manage framerate'.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.