多くの人がFlashCS4がGPUと統合することを最もよく知っています。あなたへの私の質問は、すべてのレンダリングをGPUで実行させる方法があるのか、それともそれほど多くのアクセスを取得できないのかということです。
私が尋ねる理由は、Flash 3Dに関して、ほとんどすべての既存のエンジンがソフトウェアレンダラーであるということです。ただし、これらの既存のエンジンの1つを使用して、可能な限りハードウェアレンダラーに変換したいと思います。ご入力いただきありがとうございますマークよろしく
多くの人がFlashCS4がGPUと統合することを最もよく知っています。あなたへの私の質問は、すべてのレンダリングをGPUで実行させる方法があるのか、それともそれほど多くのアクセスを取得できないのかということです。
私が尋ねる理由は、Flash 3Dに関して、ほとんどすべての既存のエンジンがソフトウェアレンダラーであるということです。ただし、これらの既存のエンジンの1つを使用して、可能な限りハードウェアレンダラーに変換したいと思います。ご入力いただきありがとうございますマークよろしく
まず、ハードウェア アクセラレーションを行うのは Flash CS4 ではなく、Flash Player 10 です。
どうやら「プレーヤーは、すべてのラスター コンテンツ レンダリング (グラフィック効果、フィルター、3D オブジェクト、ビデオなど) をビデオ カードにオフロードします」。これは自動的に行われます。選択肢はあまりないと思います。
FlashPlayer11が来年前半にベータ版としてリリースされるのを待ちます。それは素晴らしいでしょう。
Flash Player 10の新しいGPUアクセラレーション機能は、開発者がアクセスできるものではなく、単に「頭上」で行われるアクセラレーションブリッティングです。
ハードウェアに最も近いのは、ピクセルベンダーフィルターです。これらは基本的に、ピクセルシェーダーに相当するFlashです。ただし、(afaik)クロスプラットフォームの一貫性の問題により、Flash Playerで実行した場合、これらは実際にはGPUで実行されません(他のAdobe製品で利用可能であり、GPUで実行するものもあります)。
したがって、実際のハードウェアアクセラレーションに関する限り、ピッキングはかなりスリムです。
Alchemyで得られるすべてのパフォーマンスが必要な場合は、チェックする価値があります。これは、c / c ++コードをAVM2(actionscript3を実行する仮想マシン)にクロスコンパイルできるようにするプロジェクトです。これは、パフォーマンスを向上させるためのいくつかの気の利いたトリックを実行します(これらの言語の非動的な性質のため)。