我目前正在开发一款仅使用2D图形的游戏。
在游戏中我广泛使用android的SurfaceView
来显示我的图形。
我听说GLSurfaceView
使用硬件加速图形,我可以使用它而不是当前SurfaceView
来提高应用的性能。
目前,当我自己的线程类SurfaceView
调用方法update()
和render()
时,我有一个扩展Thread
的类,它会更新并呈现游戏状态。 。线程基本上帮助我保持几乎恒定的FPS。
现在问题:
如何从SurfaceView
更改为GLSurfaceView
,并调用方法更新并从线程渲染游戏状态,以便仍然可以控制FPS。我在OpenGL ES上阅读了android文档,我不太明白如何使用GLSurfaceView.Renderer
。
如果有人可以解释我如何轻松地从SurfaceView
切换到GLSurfaceView
,那将会有很大的帮助!谢谢!
答案 0 :(得分:1)
显示游戏的班级将展开GLSurfaceView
。您的渲染类将实现Renderer
。在Renderer
课程中,您需要添加以下未实现的方法:onDrawFrame()
,onSurfaceChanged()
,and onSurfaceCreated()
。
希望这有帮助。