2009年01月06日

【どうでもよい系】進捗ほぼなし

例のヤツをうちのCelleron機(2GHz)のIE6で動作させてみたら酷いスピードだったので、パフォーマンス改善できないか確認。開発自体はクアッドコアとかいう上等なもの積んだ子のFireofxでやってるので、遅い子のIEで見るとそれはもう愕然とする。Celleron機でもFirefoxで見れば耐えられるスピードなんだけど。

全ての画像をasboluteで配しているのを、floatで一行配置した後に、それを囲んだdivでずいっと移動という形にしてみる。floatの方がnativeな配置だから早くなるかと思ったが、結果は惨敗。

positionを持ってくところではなく、普通に画像を何百枚も描画するのにかかるコストが問題な様子。ていうか、同じ画像を1回ずつLoadしてやがりますね。使用する画像を全部下の方に表示して、画像も含めて全部onloadを通知したら描画スタートということもやってみたのですが、結果は変わらず。ぬう。

IE7の方は同じ画像は1回Loadに留めてくれている様子。ただ、街や城に入る際の動作が重い。F5押した場合より城を出た方が時間がかかるということは、非同期通信の結果を待ってるところが問題か。もしくはElementをRemoveしてるところも危険そう。

非同期通信が問題であれば、画面表示フィールド内の街や城のマップ情報を先読みすれば、なんとかなる。ElementのRemoveが問題の場合は、固定数の画像に対して、src指定を切り替える形にする方法が思いつく。けど、srcの中身変えた時の反応が各ブラウザイマイチ遅い。IEは特に遅い。

それから、キー押下があった際に、Activeになってるウィンドウ(フィールドか、メニューか、メッセージか、どれに命令送るか)を判定させるロジックとして、Activeな要素にactiveという名前のクラスを配置する方法を試してみる。コード的には格好良かったのだけど、結果は惨敗。予想はしていたけど、連打に対して全然弱かった。

やはりそこは変数で判断するとして、キーイベントでころころ値が変わることを考えると、syncronized的なことをしたいのだけど、Javascriptではどうやるのだろう。最悪、セマフォっぽくすればいけるか。


http://www.mwsoft.jp/game/dqp/20090105/dqp.html

※基本、昨日と何も変わりなし
※描画をfloatにしたけど、差はないと思う
※試しに下の方で画像先読みしてるけど、やはり差はないと思う
※Xボタンを押すとメニューが出て、そのまま動かなくなる
posted by MW at 02:09| Comment(0) | TrackBack(0) | ドラクエっぽいヤツ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/112212095

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

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