【问题标题】:How to have a multi process architecture for my Flex AIR based application?如何为基于 Flex AIR 的应用程序建立多进程架构?
【发布时间】:2010-11-11 09:09:52
【问题描述】:

我在 Flex 中开发了一个 AIR 应用程序来处理播放不同的 SWF。我发现了一些问题,因为我正在玩的这些 SWF 很重。我发现动画不流畅,导致 CPU 使用率图表变高(我是因为 Flex 的单线程架构)。因此,我计划为我的应用程序建立一个多进程架构。谷歌浏览器之类的东西。我有一个主应用程序作为一个进程,其他 SWF 将在单独的进程中播放,但应该在主应用程序窗口中看到。如何在 Flex 中实现它?谢谢!!

【问题讨论】:

    标签: apache-flex air


    【解决方案1】:

    在 AIR 上尝试此操作不会有任何运气。或许使用 Flash Player,因为您可以将 HTML 页面用作周围的容器,但您无法使用 AIR 来实现这一点。

    必须说,如果您遇到此类性能问题,几乎可以肯定,您可以在提高性能方面做得更好。

    与其解决症状(应用运行缓慢),不如解决原因(导致应用运行缓慢的代码)?

    【讨论】:

      【解决方案2】:

      不幸的是,Flash 运行时是单线程的。但是,您可以通过明智地使用事件来模拟线程。通过将大块代码分解为由事件调用的较小的小方法,让 Flash 播放器处理何时执行您的代码,您可以获得明显的性能提升。

      我强烈建议您阅读弹性赛道:http://drawlogic.com/2008/04/22/a-peek-into-the-as3-and-avm2-virtual-machine-and-elastic-racetrack/

      【讨论】:

        【解决方案3】:

        另一种选择是将您的逻辑分布到多个 SWF 文件中,并让它们通过 LocalConnection 进行通信。如果我没记错的话,在 Chrome 中,每个 Flash 播放器实例都应该有自己的进程;这样你应该可以消耗大量的 CPU。

        【讨论】:

          【解决方案4】:

          这是不可能的,因为 Flash 播放器不允许多线程。希望他们将来会改变这一点。

          【讨论】:

          • 它很快就会到来,今年晚些时候终于 - 虽然这将是一把双刃剑 - 对于那些知道如何使用它的人来说,这是一个真正的武器,但我可以想象这对于那些知道如何使用它的人来说会很痛苦不太了解CS的基本原理。 tv.adobe.com/watch/max-2011-develop/…
          猜你喜欢
          • 2012-09-22
          • 1970-01-01
          • 1970-01-01
          • 2011-06-26
          • 2012-11-21
          • 2011-09-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多