日記/2007-02-20
いい加減しつこいですが(笑)
起動速度に影響するデータとして、iniファイルの重さが言われています。
で、ちょっと試して見た結果、Glenelgの場合、敵ごとの学習情報ファイル:vs_enemy_xx.ini の負荷が大きいようです。
これをまっさらにして動かすとそれなりに高速化します。
ここでいう「それなり」というのは、昨日の日記にも書いた「2段階のラグっぽさ」のうちの後半。
Glenelgでの起動では「ホム出現直後」と「ホムが出現後一拍後」の2段階の重さが感じられるはずで、この後者については上記ファイルの重さが主要因ということです。
もともとこれは学習によって生成される、ユーザー編集は期待していないもの。
luaの自動生成式にしてもいいかもしれない。
で、あと気が付いた面白いこと。
ファイルの読み込みは重いのですが、書き出しには負荷がないのですね。
いえ、もともとこの学習状況ファイル、ユーザーによる命令がなされるたびに全部を書き直ししているものです。
もし読み込みと同じ負荷が書き込み時に発生していたら、命令操作するたびに一瞬のラグが起きるはずなのに、そんなことはないので。
実際、手動で読み取り指示できるように改造・操作をしたら、ほんの一瞬ラグるような動作をしています。
逆に、enemy以外のiniについては、手動読み取りさせてもまったく負荷を感じません。
もちろん、多少の負荷になっていることは否定しませんが、
すべてのiniをとりやめるほどのことはないな、と思いました。
ちなみに、友瀬のテスト環境(==実戦環境)では、enemy.ini のサイズは約5KB、ai_option.ini は12KB。
サイズ的には軽いはずのenemy のほうが、実際には時間がかかっている。
これも昨日の日記に書いた「文字列マッチング」の影響と見るのが無難そう:enemy のほうはフォーマット自体が多少複雑なので。