
まさか再びこの画像を使う時が来るとは。
ボトルネックになってるのはどうやら描画そのものというかGDIなので、恐らくどんなに高性能PCを使ったとしてもせいぜいが24〜5FPSといった所ではないでしょうか。
ではGDIが遅いならDirectXで描画したらいいじゃないというマリーアントワネット的発想で、レンダーターゲットを余分に1枚用意して描画結果をバッファしてみました。

→ダウンロード
それがしもピクセルシェーダ無し対応ゲームをリリースする漢・・・レギュレーションに遵って古いE3Dでも動くように作ってみました(笑)もうちょっと新しいバージョンだと工程が3つくらい減らせるんですが
そのままでは芸が無いのでフェードアウト機能も搭載。古い円からじんわりと消えていきます。FPS(フレームパーセカンではなくファーストパースンシューティン)なんかの弾痕とかに使える・・・かなあ?背景モデルのUV展開が難しそうですが。
えっ・・・もしかしてHSPの標準命令で描画したかった・・・?


何個でもスプライトを描画した跡が残せますね。
自分のPCだと、なにもいじらず実行すると39~41FPSくらいでした。
しかし必要最低限な部分だけを抜き出せば、512x512サイズのテクスチャで
毎フレーム書き換えても70FPS以上という、[単体]単純な例.hspでは不可能な描画速度が出せました。
しかも、古い円がにじんで消えていくッッ!!
ttp://hariko.hariko.com/2011/spec.jpg
どうやっているのか、検討もつきませんでしたが
ぼおんさんのスクリプトで、レンダーターゲットのテクスチャのフォーマットの
種類によって、こんな効果がだせると知りました。 自分でも試してみた所、新しい事ができそうです^^
ttp://hariko.hariko.com/2011/test.zip
テクスチャフォーマットにA〜を指定するとアルファチャンネル付きになっちゃうので背景が透けてしまうんですね。使い方が難しいです。
テクスチャでなくレンダした画面をバッファしてくとモーションブラーみたいな事も出来ます(ぼかしでなく残像なのでモーションエコーとでも呼びますか)