【问题标题】:SurfaceView/CanvasView General QuestionSurfaceView/CanvasView 一般问题
【发布时间】:2011-02-13 06:33:16
【问题描述】:

所以这是一个非常笼统的问题,但我一直在想这个问题,想看看是否有人对此有建议。

在我之前的经验中,和某些人一样,使用 SurfaceViews 和/或 CanvasViews 来显示图形、绘制像素和制作动画非常简单直接。我个人更多地将 SurfaceViews 用于动画,因为它们针对它进行了更多优化。我通过测试发现 SurfaceViews 在某些手机(例如:摩托罗拉 Droid)上滞后很多,但在其他手机上运行流畅(例如:Droid Incredible)。我想知道是否有人知道运行平稳且比 SurfaceViews 和/或 CanvasViews 更有效的视图或显示方法,尤其是对于动画。非常感谢。

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

【问题讨论】:

    标签: android animation surfaceview


    【解决方案1】:

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

    一般来说,GLSurfaceView 总是会更好或等于 SurfaceView,但是如果您只渲染少量对象,那么 SurfaceView 可能会更好。至于电话差异,我相信他的第二次演讲(I/O 2010)对此进行了深入探讨。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 抱歉,我指的是 Canvas。不过还是谢谢你,很高兴知道其他人的想法。
      猜你喜欢
      • 2018-05-06
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 2012-06-16
      • 2012-01-06
      相关资源
      最近更新 更多