]■事の始まりNagi:「と言う事で、頼む」Yuh:「はい?」Nagi:「飲み込みが悪いな」Yuh:「いや、そんな事言われても、いったい何がしたいのか私にはわからないが?」Nagi:「だからな、MADムービーは取り込んだ動画を編集して公開するから、著作権の問題が出てくるんだろ?」Yuh:「まあ、そうだな。自分で撮った絵なら誰も文句は言わんだろう。」Nagi:「で、最近はやりの静止画MADを見て思ったんだが、これってゲームの画像を使ってるわけだよな。」Yuh:「ああ」Nagi:「静止画MADを見る奴は、みんなその元のゲームを持ってると思わんか?」Yuh:「なるほど、言いたい事はわかった。ムービーとしてMADを公開せず、見る人間の環境でムービーを生成すればいいわけだな。」Nagi:「そう言う事だ、で、作ってくれ。」Yuh:「ムービーを生成するより、リアルタイムで生成して再生した方が良いな。」Nagi:「昔流行ったメガデモだな。・Yuh:「なぜAthlon1Gで20FPSしか出ない?、スクリーンに転送すらしてないのに。」Nagi:「アルファチャネルの処理が重いんじゃないか?」Yuh:「いや、同じルーチンでGDIだとMMX200で10FPS以上出ることを確認してる。」Nagi:「DirectDrawか・・・」Yuh:「バックバッファのサーフェースから読み込むことは、DirectDrawではタブーだが、システムメモリ上のサーフェースから読み込む処理も死ぬほど重いな・・・」Nagi:「これでは使い物にならないな。」Yuh:「仕方がない、GDIで組もう。DrawDibを使えば、それなりに使い物にはなるだろう。・Nagi:「70FPSか、スクリーンに転送すると、40FPS切ってるな。早くならないか?」Yuh:「アセンブラで書いてみるか。・Yuh:「おかしいな、AthlonだとMMX使った方がトロイぞ。」Nagi:「MMX-Pentium上では、確かにかなり早くなってるが、セレロン上でも386アセンブラの方が早いな。」Yuh:「MMX命令は必ず1クロック消費するから、パイプラインで処理した非MMXのほうが早いのかもしれないな。」Nagi:「何のためのMMXだか。」Yuh:「とりあえず、386アセンブラをもう少し最適化してみるか。・Yuh:「おお、アルファチャネル処理と透過色処理と拡大を同時にやっても100FPS近く出てるな。これなら、画面に転送しても、平均30FPSは保てるだろう。」Nagi:「要PentiumII400MHz以上だな・・・。」Yuh:「後はお前の仕事だ、クラスにまとめておいたから、簡単に使えるだろう。・Nagi:「なあ、DirectDrawはサーフェースから読み込むから遅いんだろう?」Yuh:「ああ。・Nagi:「おいおい、70FPS超えてるよ・・・」Yuh:「やはり、サーフェースのロックが一番のネックのようだな。■完成品その1「無題(題材:Kanon)」−28秒−1.動作環境Windows95/98/Me16Bitカラー以上(GDI版は256でも動きます。)PentiumII300MHz以上推奨(MMX200だと、かなり辛い物がありました。GDI版は400MHz以上推奨です。)メモリ64M以上2.動かすために必要なものKanonのCDもしくはインストール済みのデータSusieプラグイン「IFPDT10.SPI」(いのうえさんのHPからSPKNN131.LZHをダウンロードしてください)3.動かし方ダウンロードしたファイルを解凍する。いのうえさんのHPから「SPKNN131.LZH」をダウンロードし解凍した中身を全てDemoPlayDx.EXE(DemoPlayGDI.EXE)と同じフォルダにコピーする。DemoSetUp.exeを起動する。実行ボタンを押した後、KanonのCDの入ったドライブか、Kanonがインストールされたフォルダを指定する。DemoPlayDx.EXE(DemoPlayGDI.exe)を起動する。4.掲示板/なんかあったら書いてください。実験として作ったので、余り出来が良いとはいえない。webmaster@soft3304.net。