2006/10/24(火)timer
アルゴリズム的に穴が見つからないので、現在位置のログをとってみた。
同じ値が2~3回刻まれてから、次の時間になっている。あれ、なんで?
いろいろ調べてるうちに DSOUNDEX.hpi の timer は 精度が悪いことに気づく。
OK把握した。timer を timeGetTime で総入れ替えしたら、あぁスムーズに動くじゃないか。
GDIでもハーフトーン変倍コピーしなければ、32dppで140fps。
DXは……画面が1秒に100msぐらい連続して固まる状況。何コレ。
そういやnazoも、起動後って32fpsとかしか出ないよな。
一端窓切り替えると直るんだけど。っつーことはアレだな。
窓切り替えられないこのアプリは回避不能って訳か。
まぁ、窓切り替えられないアプリなんか元々死んでいいけど。
ふむ。
つか、es_zoomがまともに動かないのはなぜなんだろう。
ちょっと、HEL使いたいんですが。無理ですか、そうですか。
っていうか、終わりにするんじゃなかったっけな。
2006/10/24(火)DX
HSPDX使ってみた。なんか。
ドライバが悪いのかHSPDXが悪いのかDirectXが悪いのかは知らんけど、
とても使い物にならなかった。
32dppで起動すると es_boxfが効かない。
es_copyも、なんか256x256を指定してるのに、256x1が縦に256個連なったような?
16dppで起動してもes_zoomがまともに動かない。
FPSだけは300とか出てるあたり、ハードウェアアクセラレーションの驚異だが。
あと、300fps出てても、ノートの描画がちらつくことがわかった。
どうも、現在位置の計算式に穴があるようだ。まぁいいや。なにしてるんだ。
2006/10/20(金)asdfbmsp.exe
asdf061020.zip
たぶん、今日、さようなら。
ここまで16時間ぐらい。
HDCでの描画はVSync待てないからSleeplessにしたら激しく重い。
内部データ的には、ここにキーボード入力して判定もできるようにしてあるものの、
これだけ描画が重いとまともな処理が期待できないので、
DirectDrawでも使わないといけない、DirectInputはそれからだろう。
だけど、もうやる気しないので、ここにさらして終了にしようかと。
(18:10 追記) 細かいこと
現状再生専用。
対応状況: 5KeysBMS 7KeysBME 9KeysPMS 18KeysPMS
#WAVxx #BMPxx #STOPxx #BPMxx #RANDOM #IF #ENDIF xx:FZまで
LongNotes(5x,6x系)はOK、#LNOBJは非対応。#STP非対応
チャンネルは 01,02,03,04,06,07,08,09, 11-19,21-29,31-39,41-49,51-59,61-69
現状、再生専用なので06,31-39,41-49について無意味。
0Aとか1A-1Zとかの拡張チャンネルは、需要が少なそうなのでの関係で無視。
今思いついたけど、チャンネル00にイベント書き込むとおかしくなるかも。
そういやasdfとかnanasiとかぶってるあほでごめんなさい。もし更新したらなおします。