SurfaceView与自定义视图(从View扩展)。 SurfaceView比较慢,为什么?

时间:2010-08-20 03:13:10

标签: android performance surfaceview android-custom-view

我用两种方式编写了相同的程序。

一个使用Surfaceview,另一个使用自定义视图。根据android SDK开发指南,使用表面视图更好,因为您可以生成一个单独的线程来处理图形。 SDK开发指南声称,使用带有无效调用的自定义视图仅适用于较慢的动画,不太强烈的图形。

但是,在我的简单应用中,我可以清楚地看到,使用带有无效调用的自定义视图似乎渲染速度更快。

你们有什么了解/想到这个?

我的touchEvent代码完全相同,我的绘图代码完全相同。唯一的区别是一个都在UI线程中,另一个是使用脚踏来处理绘图。

1 个答案:

答案 0 :(得分:2)

SurfaceView可以使用2个缓冲区进行绘制,你的自定义视图怎么样?

另一件事:您提到文档说invalidate可以在较慢的动画/不太强烈的图形上快速运行。你的“简单应用”有多激烈?您应该尝试进行压力测试,并考虑单个线程如何处理您的触摸输入。

我的游戏中有3个主题。一个用于游戏逻辑,一个用于绘图,然后是“普通”UI线程...