Adobe AIR在高分辨率Android设备上滞后

时间:2014-02-21 12:50:21

标签: android air adobe

我制作的应用程序在iOS上运行良好但在Android上存在性能问题。我注意到在较旧的设备上,例如具有低屏幕分辨率的galaxy s2,该应用程序很好。它只落后于新的高清设备,如galaxy s4和nexus 4。

高屏幕分辨率会导致设备滞后吗? 有谁知道我能做些什么来找出如何解决这个问题?

这很奇怪,因为它只适用于新设备。

2 个答案:

答案 0 :(得分:2)

不确定为什么它会在S4上发生,因为它具有不错的CPU和GPU,但高密度屏幕导致延迟,尤其是在基于Flash的应用中。当我试图从iPad 2移动到视网膜显示器时,我遇到了同样的问题。

让我们以这种方式看待它,关于我的iPad问题。 iPad 3将分辨率从1024x768提高到2048x1536。那是多少像素的 4x 。传统上,Flash有渲染矢量图像的问题。它是擅长的,是最好的,但它很慢。因此,在iPad 2上渲染矢量对象只需更新40x40区域。在iPad 3上,更新为160x160区域。

快速提示:

  • 绝不使用CPU渲染。坚持直接(或GPU,如果你需要,但你失去了GPU渲染功能,如过滤器)
  • 减少使用的矢量数量以及更改它们的频率。您应该不惜一切代价避免每帧更新矢量对象。
  • 在测试帧速率问题时,请确保您正在测试发布版本(在Flash Builders中,Project-> Export Release Build ...)。在iOS方面通常比Android方面更明显,但调试版本会导致延迟
  • 请勿将帧速率设置得高于您所需的帧速率。随着帧速率的提高,每帧都有更少的时间来运行必要的计算。您注意到的延迟并非真正来自低帧速率(虽然这没有帮助),但是当帧花费的时间比可用渲染时间长时更多。 24是默认值,30是标准。 60是最大值,总是很好,但除非你正在制作游戏,否则完全没必要。

我现在有几个应用程序正在生产,在我的Nexus 5上运行得很好,这与具有大致相同硬件的S4具有相同的分辨率。除非特别是那个硬件有问题,否则你应该能够管理30fps没问题,如果不是60。

答案 1 :(得分:0)

使用adobe推荐的直接渲染模式。