現時点では、これが完全に公式にサポートされているわけではないことは承知していますが、オープンソースプロジェクトのATF-Encoderを使用してATFテクスチャを生成しようとしています。uploadCompressedTextureFromByteArray
次に、それ自体をFP11以降でサポートされているStage3DTextureにアップロードしようとしています。
これは、テクスチャが正しくアップロードおよび表示されるという意味で機能します。また、特にエンコード中に量子化係数を増やした場合、結果のテクスチャに圧縮アーティファクトがあり、結果のByteArrayが「生の」テクスチャよりもはるかに小さい(約20分の1)ことを確認できます。
ただし、Process ExplorerでGPUの使用量を測定すると、予想されるはるかに小さい値ではなく、テクスチャごとにまったく同じ量のVRAM(つまり、ピクセルごとに5.333バイト)を消費しています。
テクスチャは、圧縮モードではなくBGRAモードで作成されます。圧縮しようとすると、アップロードしようとすると「互換性のない形式」になります。私が収集できることから、ATF形式は「圧縮モード」テクスチャをサポートしていますが、ATFエンコーダはそのフラグが設定されたテクスチャを出力しませんか?(圧縮が完了した後にフラグを強制的にオンにしようとしましたが、当然のことながら、Flashがクラッシュするだけです)
誰かがこの問題に関する詳細情報を持っていますか?適切なATFをエンコードし、圧縮フラグを使用してアップロードすると、問題は解決しますか?または、これは実装のバグであり、圧縮されたペイロードを受け入れますが、アップロード時に圧縮を解除しますか?ここにある情報は本当に貴重です。
これはハードウェアモードで、AMD Radeon 6450、Windows 7 64ビット、Flash Player 11.3(11.4ベータでも同じことが起こります)です。