Flash Player 11 では、OpenGL GLSL シェーダーおよび DirectX HLSL シェーダーに Flash 開発者に透過的にコンパイルできるAGAL 統合シェーダー アセンブリ言語が導入されました。
AGAL を使用するほぼすべてのプログラムは、AGALMiniAssembler (AS3 で作成) にパッケージ化されています。AGALMiniAssembler は、AGAL ソース コードを文字列として受け取り、実行時に AGAL バイナリ形式にコンパイルします (つまり、ジャスト イン タイム)。このバイナリ データは Flash Player に供給され、グラフィックス ハードウェアに供給されます。
しかし、そもそもなぜ AGALソース コードを公開してアプリに含める必要があるのでしょうか。開発者で AGAL アセンブラーを実行できませんでしたか。PC に AGAL ByteArray を含めるだけですか? AGAL シェーダーはジャストインタイムでコンパイルする必要がありますか? 利益を求めているわけではないことに注意してください。AGAL ソース コードを含めて、AOT (Ahead of Time) ではなく JIT をコンパイルすることが本当に必要かどうかを尋ねているだけです。