Android 从SurfaceView切换到GLSurfaceView?
我目前正在开发一款只使用2D图形的游戏 在游戏中,我广泛使用android的Android 从SurfaceView切换到GLSurfaceView?,android,surfaceview,glsurfaceview,Android,Surfaceview,Glsurfaceview,我目前正在开发一款只使用2D图形的游戏 在游戏中,我广泛使用android的SurfaceView来显示我的图形。 我听说,GLSurfaceView使用硬件加速图形,我可以使用它来提高我的应用程序的性能,而不是使用当前的SurfaceView 目前,我有一个扩展SurfaceView的类,当我自己的线程类扩展thread调用update()和render()方法时,它会更新和渲染游戏状态。线程基本上帮助我保持几乎恒定的FPS 现在的问题是: 如何从SurfaceView更改为GLSurface
SurfaceView
来显示我的图形。
我听说,GLSurfaceView
使用硬件加速图形,我可以使用它来提高我的应用程序的性能,而不是使用当前的SurfaceView
目前,我有一个扩展SurfaceView
的类,当我自己的线程类扩展thread
调用update()
和render()
方法时,它会更新和渲染游戏状态。线程基本上帮助我保持几乎恒定的FPS
现在的问题是:
如何从SurfaceView
更改为GLSurfaceView
,并调用方法从线程更新和渲染游戏状态,以仍然控制FPS。我阅读了OpenGL ES上的android文档,不太明白如何使用GLSurfaceView.Renderer
如果有人能解释我如何轻松地从
SurfaceView
切换到GLSurfaceView
,那将非常有帮助!谢谢 显示游戏的类将扩展GLSurfaceView
。渲染类将实现渲染器
。在您的呈现程序类中,您需要添加以下未实现的方法:onDrawFrame()
、onSurfaceChanged()
、和onSurfaceCreated()
希望这有帮助。我只需要知道GLSurfaveView.Renderer或任何其他类的哪些方法,我应该在中更新游戏状态,以及我应该使用哪些方法来渲染状态。我有很多可以复制粘贴的东西(可能还有一点tweek),所以我不想从头开始。我从android文档中发现了很多。很抱歉在我的回答中没有提到这一点。因此,您是说我将我的“update()”代码保留在扩展GLSurfaceView的类中,并将我的“render()”代码移动到另一个扩展呈现器的类中,并将其放入onDrawFrame()方法中。请澄清。我能从我的线程控制该方法的执行吗?游戏在onDrawFrame()方法中更新。您的GLSurfaceView基本上是一个空窗口。渲染器处理所有游戏逻辑。