Darkside(リンクエラー修正しました)

2014年1月13日(月) 19:55

RAMディスク

 危惧していたことではあるが、ステートセーブ&ロードが相当な負荷になる。
 再帰呼び出しを行う場合、言語がローカル変数に対応していなければならない。古代BASICなどローカル変数の概念が無い言語だと、変数を保存しながらサブルーチンを呼び出すコードを自前で追加せねばならない。
 lua は最新の部類に属する言語であり、そのままで再帰呼び出しができる。だが、TAS製作の場合は言語のローカル変数だけでなく、エミュレーターの状態もまた保存せねばならない。

 当たり前だが、エミュレーターの状態保存は lua 言語で自動的にやってくれる訳はなく、自分でステートセーブ&ロードを記述する。
 ところが BizHawk のステートファイルは、かなり大きい。これがノードごとに読み書きさせるのだから、ディスクが動きっ放しだ。

 さすがにこれは辛い。書き込みが多発するので、SSDは使いたくない。という訳で、いったい何年ぶりか分からないがRAMディスクを作ることにした。
 いざ動かすと、ステートセーブ&ロードのタイミングが重要だと分かって来た。BizHawk
はTasvides推奨エミュレーターなので当初は安心していたが、実際はバグだらけ。理屈通りにスクリプトを書けば完動するとは限らないようで・・・

written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

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

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4