合成しました (ADW の展開)2012/02/01 00:00:00

透明度などを考慮して合成してあります

AzDrawing2 のデータ展開 on HSP の続き

AzDrawing の場合、色は必ず単色レイヤなので、豪快にテーブル引を行う事にしました

テーブルサイズは 256×256×3 で 192KiB です

 

きちんと合成されました

が、計算コストを考えると、1タイルが 4,096ピクセルで、0 の時はスキップしているので、実際に計算しなければならないピクセルは “1タイル平均だと 1,500ピクセル程度かなー?” と言う感じがします (統計を取って見りゃいいんですが、面倒なのでパス)

仮に 1,500 ピクセルだとした場合、196,608 回の計算が発生するのは、132タイル以上有る場合になります (4,096ピクセルが全部埋っている場合は 48タイル以上)

 

実際の所、小さい画像の場合はテーブル計算の時間が無駄になっていますが、それなりに描画されている大きな画像ではテーブル計算の方が計算コストが下がりますし、テーブル計算自体は、今時の CPU の計算量からすると大した時間が掛る訳でも無いので、この際無視します

ただ……、計算式を見ると、フルカラーだと一部の計算のみテーブル化し、残りは毎回計算する方が速そうです (多少の色の狂いを無視するのなら、高速化する手法が無い訳でも無いですし……)

 

ゲームなんかで合成する場合は、頻度が多い場合は微細な色の狂いを無視し、頻度が低い場合は真面目に計算するのがいいのでしょうか?

まあ、DirectX を使う場合は、GPU が勝手に計算してくれますけど……

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
√7 の計算結果を漢数字表記で6桁分(以下切捨)/ドットは ANK 使用/最後に ^q$ を付加

コメント:

トラックバック

このエントリのトラックバックURL: http://asg.asablo.jp/blog/2012/02/01/6314411/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。