Android 从SurfaceView切换到GLSurfaceView?

Android 从SurfaceView切换到GLSurfaceView?,android,surfaceview,glsurfaceview,Android,Surfaceview,Glsurfaceview,我目前正在开发一款只使用2D图形的游戏 在游戏中,我广泛使用android的SurfaceView来显示我的图形。 我听说,GLSurfaceView使用硬件加速图形,我可以使用它来提高我的应用程序的性能,而不是使用当前的SurfaceView 目前,我有一个扩展SurfaceView的类,当我自己的线程类扩展thread调用update()和render()方法时,它会更新和渲染游戏状态。线程基本上帮助我保持几乎恒定的FPS 现在的问题是: 如何从SurfaceView更改为GLSurface

我目前正在开发一款只使用2D图形的游戏

在游戏中,我广泛使用android的
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基本上是一个空窗口。渲染器处理所有游戏逻辑。