0

我有一个使用加速度计的 IOS 游戏。我的游戏以 60 fps 的良好速率渲染,但我从加速度计的输入滞后。例如,在我将游戏向左倾斜后,游戏需要一秒钟才能做出响应。触摸事件也是如此,有时延迟约为一秒。

我的游戏的渲染循环如下所示:

procedure RenderFrame

    switch to "SpaceShips" texture

    for each bad guy
        update his location
        render to OpenGLES
    end loop

    update good guy location
    render him to OpenGLES

    switch to "Particles" texture

    for each particle
        update the location
        render to OpenGLES
    end loop

end RenderFrame

对我来说,这听起来类似于这个问题:

OpenGL ES 2.0 iPhone - 在后台线程块主线程上渲染

这听起来像是我的主线程被阻塞了,我会从并发中受益吗?我可以通过将整个方法移到另一个后台线程来简单地删除主线程上的块,还是我必须对上述方法进行更精细的重写以实现并发?如果可能的话,我想做最少的并发来减轻主线程上的阻塞。

4

0 回答 0