gpt4 book ai didi

ios - cacheAsBitmap 对 AIR for iOS 中使用 scrollRect mask 的 Sprite 没有影响

转载 作者:行者123 更新时间:2023-12-01 17:00:00 26 4
gpt4 key购买 nike

我正在为 AIR for iPad 开发一个简单的动力学菜单 UI 组件。它基本上是一个轻量级的填充组合框,符合 iOS 的风格。我有一个包含 2 到 60 个项目按钮的 Sprite ,它会弹出并让你轻弹/滚动它们,在任何给定时间只显示大约 7 个项目。

我的第一次尝试在我的 Sprite 上使用了一个 mask ,在固定 mask 下上下移动我的菜单 Sprite 。这在测试设备上产生了乏善可陈的结果(< 20 fps)。

然后我尝试了一个 blitting 解决方案,将菜单 Sprite 从显示列表中移除,并使用 BitmapData.draw() 仅将我需要的部分呈现到列表中可见。这在我的 Windows 开发平台上产生了最好的结果,但这次在 iPad 上的帧率下降到 10 fps 以下。我假设我正在招致 CPU 使用率或 GPU 回读惩罚。最初我希望能够以 60 fps 的速度运行我的应用程序,但我已经将我的目标降低到更简陋的 30 fps。

这让我第三次尝试使用 sprite 的 .scrollRect 屏蔽函数和 .cacheAsBitmap 来使用这个 UI 组件。同样,观察到的行为在 Windows 和 iOS 上的 AIR 之间存在很大差异。在 Windows 上,它只重绘由 scrollRect 的尺寸限制的菜单 Sprite 部分。使用 iOS,我可以触摸菜单 Sprite 可见区域上方或下方的屏幕区域,即使我的手指在“空白”空间上方,仍然可以拖动菜单!这里的性能不错,徘徊在(19 - 25 fps)之间,如果它像在 Windows 上那样工作,几乎可以肯定在 30 帧时是完美的。

是否有人对 AIR for iOS 上的 scrollRect 功能的行为或在 AIR for iOS 中实现 iOS native 样式滑动菜单的更好方法有任何想法?

请注意,上述方法在 CPU 和 GPU 模式下都进行了尝试,但 CPU 模式的性能要好得多。我使用安装在 Flash Pro CS 5.5 之上的 AIR 2.7,并使用 FlashDevelop 作为我的 IDE。

最佳答案

http://esdot.ca/site/2011/fast-rendering-in-air-3-0-ios-android#comment-10

来自上面链接的非常好的人:“是的,scrollRect 在移动设备上基本上是不可行的,基本上忘记了 API 甚至存在。信不信由你……老派蒙版是要走的路。我们绕来绕去!”

关于ios - cacheAsBitmap 对 AIR for iOS 中使用 scrollRect mask 的 Sprite 没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7972967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com