actionscript-3 - 为什么 AGAL 着色器需要及时编译?

标签 actionscript-3 flash 3d jit agal

Flash Player 11 引入了 AGAL unified shader assembly language ,它能够编译成 OpenGL GLSL 着色器和 DirectX HLSL 着色器,对 Flash 开发人员来说是透明的。

几乎每个使用 AGAL 的程序都打包在 AGALMiniAssembler 中。 (用 AS3 编写),它将 AGAL 源代码作为字符串,并在运行时(即及时)将其编译为 AGAL 二进制格式。然后将此二进制数据送入 Flash Player,然后再送入图形硬件

但是,为什么首先必须发布 AGAL 源代码并将其包含在您的应用程序中?你不能在你的开发人员上运行 AGAL 汇编程序吗? PC 并简单地包含 AGAL ByteArray?是否需要及时编译 AGAL 着色器?请注意,我不是在寻求好处,我只是在问是否真的有必要包含 AGAL 源代码并让它编译 JIT 而不是 AOT(提前)。

最佳答案

是的,这是可能的。当您使用 miniassembler 编译着色器时,您会得到 bytearray。所以你可以只使用这个字节数组 - 嵌入或加载。

关于actionscript-3 - 为什么 AGAL 着色器需要及时编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23602735/

相关文章:

Flash AS3 求值()

javascript - 如何检测手机浏览器是否可以安装Flash?

javascript - 如何将客户端 .STL 文件加载到 Three.js 场景中而不是从服务器加载?

c++ - 使用 DirectXTK/DirectXMath 变换平面

actionscript-3 - 如何组织复杂的 Flash 项目

r - 如何在 R 中绘制 3D 箭头?

apache-flex - 为什么 AS3 预加载器中的 bytesTotal 会增加?

sql - 从 actionsipt 3(AIR 或 Flash)读取 SQlite 时出现问题

actionscript-3 - AS3 : ByteArray sound data loop smoothing issue

javascript - 如何找到加载的 swf 播放的视频 url?