我尝试将 openGL 与 ndk 一起使用。某些设备似乎显示帧非常缓慢。我想稳定地显示帧。
如果设备速度太快,我可以像这段代码一样设置一个限制。
使用 Android 的 GLSurfaceView.RENDERMODE_CONTINUOUSLY 时如何限制帧率?
相反,如果太慢,我该怎么办?我的意思是,如何在 Android 的 GLSurfaceView 上控制 fps?
谢谢。
我尝试将 openGL 与 ndk 一起使用。某些设备似乎显示帧非常缓慢。我想稳定地显示帧。
如果设备速度太快,我可以像这段代码一样设置一个限制。
使用 Android 的 GLSurfaceView.RENDERMODE_CONTINUOUSLY 时如何限制帧率?
相反,如果太慢,我该怎么办?我的意思是,如何在 Android 的 GLSurfaceView 上控制 fps?
谢谢。
您应该使您的逻辑与帧速率无关。例如,您的所有动画都应基于 frame_delta_time 计算。这个 delta_time 是使用渲染最后一帧(或最后一帧)所花费的平均时间计算的。
检查这个:https ://gamedev.stackexchange.com/questions/13008/how-to-get-and-use-delta-time
有一些解决方案可以限制你的帧速率,但我的建议是首先让你的逻辑帧速率不可知,然后考虑限制帧速率:How to limit framerate when using Android's GLSurfaceView.RENDERMODE_CONTINUOUSLY?