もどる
fire1.gif 合成関数高速化(うそ) 00/03/17
いくら加色合成をいフレームに100回もしようとしてるからって、 うちのマシンで60FPSでないのはちょっとつらい(Pen200MHzのくせに)。 DelphiXを使い始めたときから思っていたこと...「これは前と比べて速いのか?」

いきなりだけど、やっぱりあれですね。DelphiXの合成関数はちょっと遅いですね。そうくれば、あれですね。 やっぱりもっと速いものを自分で作る、ってなりますよね。でも、そう簡単にはできないんですよね。 もし、手元に似たようなものがあればどうしますか? 手元に似たようなものがあれば、それと比べてみたいですよね。

というわけで、DelphiXの合成関数(加色などのみ。回転は含みません)と、AlphaLib16は どちらが速いんだ?ということで、AlphaLib16をDelphiX用に移植してみました。移植は思っていたよりも 簡単で、10分くらいであっけなく終わりました(ホント、これでいいのか?とか思うほどに)。 まぁ、当たり前といえば、当たり前なんだけどね。

結果、僕が作った「火の玉デモ」をウィンドウモードで実行してみたところ、 次のような結果となりました。おっと、ディスプレー解像度は1024×768×16、ウィンドウサイズは320×240です。
コード FPS 実行時間
DelphiX 69±2 14.5ms
AlphaLib16(DelphiX版) 129±5 7.8ms

結果はこうなりました。うーん、まさかこんなにも差が出るとはねー。 その差、およそ2倍、か。何か不都合がでるまではAlphaLib16を使ってくことにしよう。 やっぱり、この違いはあれですね、オールラウンダーとスペシャリストの違いってやつですかね。

次へ進む





もどる