【问题标题】:QT vs Flex/Flash/AIR for multimedia用于多媒体的 QT 与 Flex/Flash/AIR
【发布时间】:2011-05-03 07:39:48
【问题描述】:

我使用 AIR 开发了一个从 Java 读取 MIDI 代码的 MIDI 应用程序,发现除非我将所有内容都迁移到 Java,否则它的执行速度不够快。在actionscript中,Green thread是否可以通过充当多线程应用程序来改善AIR/Flash,从而提高NativeProcess的读写性能?

如果没有,你会建议全部迁移到 Java 还是选择 Qt 框架?我不习惯 C++ 语言。

【问题讨论】:

  • 您好,很多时候我都无法直接回答这个问题,但我或许可以为您提供更多信息以提供帮助。 AIR/Flash 本身不是多线程的,伪造多线程的唯一方法是阻止后台处理,让 UI 更新,然后在某些数据处理完成后恢复。如果您确实需要多线程支持,我建议您坚持使用 Java,如果您想使用 QT 框架,请参阅此处的绑定:qt-jambi.org
  • 还有一个简短的说明,如果不是很明显,您将通过用 C 或 C++ 编写它然后编译为特定处理器的机器代码而不是在其之上运行的任何东西来获得最佳性能一个虚拟机。话虽如此,如果您仔细考虑如何从 Java 向 AS 呈现数据,您可能会在 AS 中关闭 UI,您只需要在 Java 中加载所有繁重的预处理(在某些时候,对象的序列化也将成为一个瓶颈但每 1/30 秒更新一次将使动画保持流畅和最新,并且不应使 proc 过载)。

标签: java apache-flex flash qt actionscript


【解决方案1】:

Flash 播放器不提供多线程支持。但是,如果您正在编写桌面应用程序(使用 AIR 运行时),您可以使用 NativeProcess 生成命令行工具(python、java、ruby、C 等)在后台进行 Midi 处理,让 Flash 只处理UI 更新,这就是 Flash 的真正意义所在。

对于一些降低帧速率的数据处理任务,绿色线程可能是一种有用的方法,但我怀疑您的 MIDI 处理非常密集 - 它可能不属于 Flash。

如果您要部署到 Web,那么使用 Java(或任何其他服务器端资源)进行 MIDI 处理是您的最佳选择。如果您希望我更具体,您必须提供有关处理类型的更多详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-12
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多