【问题标题】:AS3 direct rendering mode -- what does it accelerate?AS3 直接渲染模式——它加速了什么?
【发布时间】:2012-10-29 06:28:58
【问题描述】:

直接渲染模式。这究竟是用来做什么的? “将整个框架视为 Stage3D 表面”对我没有任何作用。我听说它是​​“最快”的渲染模式,但是以什么方式?它会加速矢量处理、位图处理,还是两者都没有?

在这种模式下,旧的“GPU”调整(缓存为位图)会提高性能吗?

另外,项目应该在哪里设置为使用直接渲染?有两个地方提供了该选项——第一个在 AS3 语言配置中,第二个在发布菜单中。

【问题讨论】:

    标签: performance actionscript-3 rendering gpu mode


    【解决方案1】:

    直接渲染模式与Stage3D 一起使用。这是 Adob​​e 的硬件加速 API 集,通过 flash 播放器在浏览器中运行,通过 AIR 在桌面、iOS 和 Android 上运行。

    使用 Stage3D 时,您实际上获得了一个硬件加速的舞台,它位于传统显示列表舞台之后。

    您不能使用传统的 Flash API 并让您的内容在 GPU 上运行,直接在 Stage3D 上编程更类似于 OpenGL 编程。它需要使用 AGAL 着色器和一组特定的 API。

    http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html

    然而,有很多库旨在直接与 Stage3D 一起使用。使用这些库编程的内容将被硬件加速并利用巨大的性能提升。

    Starling 模仿了 DisplayList API,如果您做过传统的 Flash 编程,应该会非常熟悉。还有一个建立在 Starling 之上的 UI 框架,名为Feathers。出于性能原因,我目前在移动应用程序中使用它作为 Flex Mobile 的替代品。

    还有几个 3D 库专为创建/处理 3D 内容而设计。查看Away3D 或进行快速谷歌搜索。该网站还列出了很多 Stage3D 框架:

    http://www.adobe.com/devnet/flashplayer/stage3d.html

    这里有更多链接了解更多信息:

    http://gaming.adobe.com/ - 关于 Stage3D sdk 的信息。还包括最新 Flash SDK 的下载链接

    http://www.bytearray.org/?p=2555 -Stage3D 在测试阶段被称为 Molehill

    Getting started with stage3d in Flash CS5, and which framework to choose? -关于该主题的另一个stackoverflow问题

    希望对你有帮助

    【讨论】:

    • 有趣。我已经在 Flash Pro CS6 中编写了一个应用程序,但想为移动设备发布它。 Flash pro 允许我在“CPU”和“GPU”之外选择“Direct”,并且在内容创建过程中不会抛出错误。我没有使用任何特殊的抽象,只是简单的 AS3。 Flash Pro 是否在幕后使用 Starling?如果不支持,为什么在编译时会提供和使用“直接”模式?
    • 如果您查看图形,您会看到在 Stage3D 舞台之上有一个普通舞台。普通的 Flash 内容可以与 Stage3D 一起正常运行,它只是不会在 GPU 上渲染,并且不会看到任何硬件渲染性能的提升。
    • @user1649948 它没有在幕后使用 Starling。通过选择直接,您可以使用 Stage3D,它不会将现有内容移植到新 API 中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2014-01-17
    • 2019-12-16
    • 1970-01-01
    相关资源
    最近更新 更多