【问题标题】:ExternalInterface Performance: Looking for Some Best-Practices/TipsExternalInterface 性能:寻找一些最佳实践/技巧
【发布时间】:2008-10-28 16:49:57
【问题描述】:

我在 Windows 应用程序的 UI 中使用 Flex 3(Flash 播放器作为嵌入式 ActiveX 控件),并使用 ExternalInterface 在它们之间传递数据(主要是进入 Flex 应用程序,而不是输出)。不过,我发现性能非常糟糕,尤其是对于较大的(即自定义)对象;我们进行的 EI 调用越多,传入的自定义对象越大,性能下降似乎就越困难。

我假设在序列化这些对象时会产生大量开销,所以我想知道,有没有以这种特殊方式使用 ExternalInterface 的最佳实践?关于这个主题的文档似乎还没有太多。

例如,将一大块 XML 作为字符串传递到播放器控件,并使用 Flex 解析它是否比通常将其作为自定义对象传递更好?需要与其宿主应用程序相对紧密集成的 Flex 应用程序应如何在不牺牲性能的情况下最好地使用 ExternalInterface? EI 性能是 Adob​​e 正在解决的问题吗?播放器 9 和 10 之间的实现有何不同?为了充分利用此功能,我们应该避免哪些事情?

提前致谢!

克里斯

【问题讨论】:

    标签: flash actionscript


    【解决方案1】:

    只是为了与任何可能感兴趣的人分享答案,Adobe 的非官方答案(在上个月的 MAX 会议上由一些 Adob​​e 工程师确认)是,通过 ExternalInterface 编组超过 30KB 左右的数据将导致性能下降。少量数据,没问题——但更大的块,无论类型如何,等等,都会大大减慢速度。

    显然这是一个已知问题,不幸的是,Flash 10 似乎并没有提供太多改进。因此,与此同时,一个可行的解决方案是使用 ExternalInterface 处理小事,而将繁重的工作留给 URLLoader 和 XML 或 JSON 解析器。希望对您有所帮助 - 如果有人遇到此问题并需要更详细的指导,请随时直接与我联系。

    【讨论】:

      【解决方案2】:

      Brad Neuberg 似乎付出了很多努力来解决这个问题。他在

      上发布了解决方法

      http://codinginparadise.org/weblog/2006/02/how-to-speed-up-flash-8s.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-01
        • 2012-01-02
        • 1970-01-01
        • 2021-06-17
        • 2019-11-30
        • 2012-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多