我试图在Android上运行一个高帧率的opengl程序。不超过60 FPS。
但它是运行在400+ FPS在GLTextureView。https://gist.github.com/eleventigers/9545428
据我所知, SurfaceView 的效率比TextureView高得多。我如何设置GLSurfaceView的最大fps,或者用OpenGL编写自定义SurfaceView。
发布于 2018-11-01 18:18:17
在Android上,您不能禁用屏幕垂直同步,因此屏幕上显示的任何内容都被限制为60 has (因为屏幕具有60 be的刷新速率,也许有些android手机存在较高的频率,但它们将是例外)。
可以通过使用自定义ROM来禁用Vsync,但是您不能强迫用户使用这些,而且可能会导致屏幕撕裂,这看起来并不好。
当你用GLTextureView报告400个FPS时,似乎测量的是渲染到屏幕外GL纹理所需的时间。因此,当然,您可以在屏幕外的纹理中以非常高的速度呈现,但不能在屏幕上以超过60 and的速度显示它(这意味着额外的帧将被跳过而从不显示)。
https://stackoverflow.com/questions/52874286
复制相似问题