繁体   English   中英

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

[英]Adobe AIR lag on high resolution Android devices

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

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

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

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

让我们以这种方式看待它,关于我的iPad问题。 iPad 3将分辨率从1024x768提高到2048x1536。 这是4倍像素。 传统上,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。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM