Java Android上OpenGL ES 2.0渲染的最佳实践
到目前为止,在我使用的语言和库中,始终有一个选项可以将程序的主循环(游戏或任何具有不断变化上下文的内容)同步到当前显示器的刷新率。所以我可以选择打开VSYNC或者让循环每秒执行尽可能多的次数。我指的是SDL2、带GLFW的OpenGL3.0、HTML5画布等 我正在OpenGLES2.0中寻找Android上类似的东西,但到目前为止,我能找到的所有示例代码都只是使用了sleep的一种变体,并将帧率设置为60或30。因此,它们基本上计算自上一次迭代以来经过的时间量,并且仅在经过给定的时间量(每秒60帧的情况下为0.016毫秒)时才进一步前进并调用requestRender()函数Java Android上OpenGL ES 2.0渲染的最佳实践,java,android,opengl-es,opengl-es-2.0,Java,Android,Opengl Es,Opengl Es 2.0,到目前为止,在我使用的语言和库中,始终有一个选项可以将程序的主循环(游戏或任何具有不断变化上下文的内容)同步到当前显示器的刷新率。所以我可以选择打开VSYNC或者让循环每秒执行尽可能多的次数。我指的是SDL2、带GLFW的OpenGL3.0、HTML5画布等 我正在OpenGLES2.0中寻找Android上类似的东西,但到目前为止,我能找到的所有示例代码都只是使用了sleep的一种变体,并将帧率设置为60或30。因此,它们基本上计算自上一次迭代以来经过的时间量,并且仅在经过给定的时间量(每秒6
我只是想知道是否有比这更好的选择。我只是担心不是每部手机都有相同的屏幕刷新率,所以硬编码似乎不是一种理想的方法。据我所知,计算出给定手机的刷新率并不是那么简单,或者至少“纯”Java和OpenGL是不可能的。您需要做的是匹配显示器的帧速率,并根据上一帧后经过的时间提前游戏状态。有两种方法可以做到这一点: