Actionscript:在iOS上创建文本字段和填充的性能

问题描述:

我很想知道我可以从iOS上的Air中获得什么样的性能。我有一个创建30个显示对象的类,每个对象都有几个文本字段和一个填充。Actionscript:在iOS上创建文本字段和填充的性能

每个显示对象大约需要0.011秒才能在PC上创建。这在iPad Retina(A7)上升至0.056。

从我的调试中,大约需要0.004来创建和格式化文本字段。

当我到达30个显示对象时,0.056变为1.68秒。

这是典型的吗?

什么都可以做?

我跟踪了班级的每个阶段,每个功能都需要大致相同的时间来执行,所以我不认为某个特定阶段存在问题。

欢迎来到移动设备的世界。它们的CPU功耗都非常低(如果与桌面PC相比),而Flash则使用CPU来正常渲染其内容。

  • 需要重绘屏幕上的更大的区域 - 性能越差是
  • 更多的对象是有画 - 性能越差是

形状,笔触,填充,字体 - 它们都是Flash需要渲染和绘制的矢量数据,因此它们都会对CPU使用率造成沉重打击,这也会导致电池电量耗尽。这就是为什么Apple在很久以前就停止在其设备上支持Flash插件的原因。

然后,Adobe发布了Stage3D,它允许(通过一定剂量的工作)利用即使在桌面计算机上也更快的GPU渲染,并且实际上可以为移动设备上的Flash/AIR应用节省一天时间。

长话短说,性能下降是原生Flash内容的一种方式。如果您想要在移动设备上获得更好的性能和更快的应用程序,您需要继续使用一些支持GPU的框架,如Gamua Starling。

+0

谢谢,我读了一些更多的评论,并发现了以下解决方案,实际上效果很好。我用setTimeout延迟1来创建每个显示对象。因此,前4个显示对象在0.2秒内渲染,其余部分在折痕下方,因此它们都显示为已完全加载,并且可以在渲染时添加新对象进行滚动。 – Mar

+1

@Mar好吧,随着时间推移负担是一种解决方法。不过,如果你正在制造一些严肃的事情,你迟早会遇到性能障碍。此外,我前面提到的电池问题。一旦用户发现你的应用正在耗尽电池,他们就不会喜欢它。他们根本就不喜欢它。我认为你应该认真考虑GPU。 – Organis

+0

@orgasnis谢谢 – Mar