SurfaceView与Android上的GLSurfaceView的差异和优势?

时间:2010-08-02 07:58:37

标签: android graphics opengl-es

我目前正在使用Android中的2D图形,并且一直使用普通的旧SurfaceView将Drawables和Bitmaps绘制到屏幕上。这一直都很正常,但精灵运动中有一点点口吃,我想知道用这个做一个实时(但不是很快的)游戏的可行性。

我知道存在使用OpenGL的GLSurfaceView,但我很好奇它在多大程度上有所作为。是一个普通的SurfaceView硬件加速,还是我需要使用OpenGL?切换到OpenGL可以期待什么类型的速度差异,以及切换需要多少代码更改(游戏逻辑都在一个单独的对象中,为SurfaceView提供有序的可绘制数组)?

3 个答案:

答案 0 :(得分:2)

据我所知,你必须使用openGL来获得硬件加速。但不要认为理所当然,等待其他答案^^

如果确实如此,加速应该非常重要。任何2D应用程序应至少以20 fps(通常比3D应用程序少的多边形)工作

它需要大量的代码,但1)作为第一次尝试,你可以尝试只使用1平方VBO并每次更改矩阵2)你的渲染似乎已经完全封装,所以它应该简化很多事情

答案 1 :(得分:0)

SurfaceView默认情况下不是硬件加速。 如果你想获得硬件加速 使用GLSurfaceView,它使用opengl并且是硬件加速的。

答案 2 :(得分:-1)

自3.0以来,常规SurfaceView可以实现硬件加速。

http://developer.android.com/guide/topics/graphics/hardware-accel.html