私はWeb用のFlashBuilderを使用して宝石をちりばめたスタイルのゲームを作成していますが、actionscript 3(ディスプレイリスト)のネイティブレンダリングを使用するのが最善か(フレームレートが高く、レンダリングの集中度が低く、すべてのタイプのコンピューターで高速)、 Starling 2D FrameworkのGPUレンダリング?ネイティブフラッシュレンダリングを使用したい理由は、私の調査から、フラッシュは再描画領域を利用し、更新が必要なステージの一部のみを再描画するのに対し、スターリングはフレームごとにステージ全体を再レンダリングすることを理解しているためです。宝石をちりばめたスタイルのゲームでは、静的オブジェクトが多く、動的オブジェクトが少ないため、通常、ステージ全体をフレームごとに再描画する必要はなく、ステージのごく一部のみを再描画する必要があります。パフォーマンスがactionscript3のネイティブレンダリング呼び出しに固執する方が良いでしょうか、それともスターリングフレームワークを使用してgpuを利用してレンダリングを高速化する方が賢明でしょうか?どんな視点でもいただければ幸いです。ありがとう。
質問する
2231 次
1 に答える
3
特にモバイルで画像を使用している場合は、スターリングが高速になります。
静的領域は、単一のスプライトとしてレンダリングすることも、実行時にフラット化してパフォーマンスを向上させることもできます。
描画している場合、Starlingでは、ビットマップに描画してから、それをスプライトとして使用する必要があります。ただし、すべてが同じスプライトシートにあると、パフォーマンスが向上します。
Starlingがすべてのフレームを描画するのは事実ですが、それは別の種類の操作です。実際に起こることは次のとおりです。
1)アプリで使用されているテクスチャ(画像)がGPUにアップロードされます。これは1回行われます。
2)各フレームで、StarlingはGPUに「このスケールと回転でこの位置にこのテクスチャをレンダリングする」ように指示します。これは「ドローコール」と呼ばれますが、非常に高速です。Starlingの優れた点は、特定の状況下でこれらの描画呼び出しをバッチ処理して、速度を大幅に向上させることができることです。
そうです、すべてがフレームごとに「再描画」されますが、GPUのハードウェアアクセラレーションが使用されます。
モバイルでは、Starling(または同様のもの)が60fpsで何かを行う唯一の方法です。
于 2012-11-20T15:56:54.840 に答える