2001年04月03日

ちらちら

順調な開発

開発は順調でした。バグは出るものの、全く手も足もでないという状態になって詰まることはありませんでした。 片手で持ったら手が吊りそうな糞重たいマニュアルと比べれば、MSDNのヘルプは天国のような環境です。
それでも分かり難いところはあって、かなり力技で解決したところもあります。(w

とにかく最適化は後回しにして一通り使える状態まで作ってしまおうということで、かなりのペースで組みました。
土日をほとんど潰して丸二日でほぼ形にしました。実行した結果は…バグは直すから良いとしてちょっと気になるところが出てきました。

ちらちら

アイテムの移動や編集をする画面の描画をする時に、ちらちらするのが気になります。特にドラッグ中は酷く多分誰でも気になるレベルでしょう。 原因は分かっています。アイコン110個+いろいろ表示させるわけですから、表示中にも描画してしまいます。

まずここから最適化することにしました。
毎回全画面を再描画させていたものを、セオリー通り変化のあった場所だけ書き直すようにしました。
少しはましになりましたが、まだ気になります。
「やはりあれを待つしかない」ということで見つけたのが、IDirectDrawVideoPort::WaitForSync()です。 しかしよく見ると…なにやら怪しい感じが「DirectDrawって…」これはさすがに使えません。
ランチャなのにDirectXが必要なんて間抜け過ぎます。

しかしこれを見つけたのは無駄でもありませんでした。 「同期は取れなくてもダブルバッファにすればいいんだ」ということに気がつきました。
あまりメモリは使いたくなかったので裏バッファは取っていなかったのですが、 ここまでちらちらするとさすがにまずいのでこのウィンドウだけは裏バッファを 取ることにしました。これでなんとかまともな状態になってほっと一息。
ここが開発中に一番詰まった場所でした。

コモンダイアログ

SDKは軽くて良いのですが、何から何まで自分でやらないといけないのでちょっと面倒な面もあります。
それが良いといえば良いのですが、大掛かりなものを自前で作ろうと思ってもかなり面倒なことになるのが容易に想像できるので、 なかなか手がつけられません。私の場合はファイル、フォルダの参照を作る気力がなくなり、コモンダイアログを使用しています。 アイコンの変更もShell32.dllの関数をそのまま使っています。

まあこの辺は使っても良いような気もしますが、ちょっとズルした気も…
(*Ver1.3以降ではファイル参照とアイコン変更のダイアグは、自作のものに切り替えたので使用していません。フォルダの参照は残してあります。 ちなみにこっちはShell32.dllのでしたね(w)


posted by T.M at 00:00| Comment(0) | TrackBack(0) | ES Launcher | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。