我目前正在使用Android中的2D图形,并且一直使用普通的旧SurfaceView将Drawables和Bitmaps绘制到屏幕上。这一直都很正常,但精灵运动中有一点点口吃,我想知道用这个做一个实时(但不是很快的)游戏的可行性。
我知道存在使用OpenGL的GLSurfaceView,但我很好奇它在多大程度上有所作为。是一个普通的SurfaceView硬件加速,还是我需要使用OpenGL?切换到OpenGL可以期待什么类型的速度差异,以及切换需要多少代码更改(游戏逻辑都在一个单独的对象中,为SurfaceView提供有序的可绘制数组)?
答案 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