2017-08-07 97 views
0

我很想知道我可以從iOS上的Air中獲得什麼樣的性能。我有一個創建30個顯示對象的類,每個對象都有幾個文本字段和一個填充。Actionscript:在iOS上創建文本字段和填充的性能

每個顯示對象大約需要0.011秒才能在PC上創建。這在iPad Retina(A7)上升至0.056。

從我的調試中,大約需要0.004來創建和格式化文本字段。

當我到達30個顯示對象時,0.056變爲1.68秒。

這是典型的嗎?

什麼都可以做?

我跟蹤了班級的每個階段,每個功能都需要大致相同的時間來執行,所以我不認爲某個特定階段存在問題。

回答

2

歡迎來到移動設備的世界。它們的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