SurfaceView / CanvasView一般问题

时间:2011-02-13 06:33:17

标签: android animation surfaceview

所以这是一个相当普遍的问题,但我一直想知道它有一段时间了,想看看是否有人对此提出了建议。

在我之前的经历中,与某些人一样,使用SurfaceViews和/或CanvasViews来显示图形,绘制像素,并且动画非常简单直接。我个人更多地使用SurfaceViews来制作动画,因为它们更适合它。我已经意识到,在测试中,SurfaceViews帐篷在某些手机上会滞后很多(例如:摩托罗拉Droid),但在其他手机上运行顺畅(例如:Droid Incredible)。我想知道是否有人知道平滑运行的视图或显示方法,并且比SurfaceViews和/或CanvasViews更有效,特别是对于动画。非常感谢。

我主要想知道这一点,因为我不明白一些游戏如何在我的速度较慢的手机上如此顺畅地运行,即使它们比使用SurfaceView的简单游戏拥有更多的动画。

2 个答案:

答案 0 :(得分:2)

Chris Pruett在关于为Android创建实时游戏的演讲中回答了这个问题。他做了两个演讲,但我想第一个:http://www.youtube.com/watch?v=U4Bk5rmIpic有它。

一般而言,GLSurfaceView将始终优于或等于SurfaceView,但是如果您只渲染少量对象,那么SurfaceView看起来会更好。至于电话差异,我相信他的第二次演讲(I / O 2010)深入探讨了这一点。

答案 1 :(得分:0)

对于那些有很多动画的游戏,最好使用GLSurfaceView,它是用OpenGL ES优化的SurfaceView。但我也很想知道,因为我使用GLSurfaceView测试绘图与SurfaceView相比,结果对于SurfaceView来说仍然更好。无论如何,没有CanvasView这样的东西。 :)