2

800x600 の画面上のランダムな場所に数十個の 16x16 ビットマップを何万回もレンダリングする最速の方法は何ですか?

1) CopyPixel() を使用して、各スプライトを 800*600 スクリーン バッファにブリットしますか? もちろん、画面バッファで unlock()、lock() を呼び出します。

2) 錬金術を使う?C++ 側で uint* screenBuffer = new uint[800*600]; を作成します。uint* spriteBmp = new uint[16*16]; そして、各 spriteBmp を screenBuffer の何千もの (x,y) の場所にコピーしますか?

3) ピクセルベンダー?

さらに、どのメソッドがハードウェア レンダリングを潜在的に使用できるのか興味があります。つまり、1) と 3) がユーザー グラフィックス カードを利用できる場合、2) で作成したどのソフトウェア ラスタライザーよりも高速になるはずです。

各 bmp でスケーリングや回転を行う必要はありませんが、画面に揃えられたビットマップに対して行われた as3 API の最適化を壊してしまうのではないかと思います。

ありがとう

4

1 に答える 1

0

スターリングを試しましたか?GPUを使った無料ライブラリです!

GPU を使用すると、大量のビットマップを実際にレンダリングできます。

ところで: 同じビットマップを使用すると、さらに高速になります!

于 2012-08-01T14:36:43.707 に答える