2011年02月09日

RAMディスクでREDSTONE高速化

どうも、久しぶりの更新です。
今更ですが明けましておめでとうございます。
今後もぼちぼちやっていきます。できれば今後も雑芥草子を生ぬるく見守ってもらえれば幸いです。

さて、最近はGvもしないし、ギルド維持や市況の確認、ちょっとソロしたりするのにたまにインする程度です。ヘヴィーにはプレイしないので、モバイルノートを使うことも多いのです。使っているのはThinkPad X100e(参考:ThinkPad X100eが我が家にやってきた - 未完空間)。そこそこグラフィックが強いのでちゃんとプレイできるんですが、やはりデスクトップと比べると非力さを感じます。開始や移動のロード時間は長いし、カクつきやすい……。

そんなとき思いついたわけです。

CPU性能は仕方ない。でもRAMディスク使えばデータアクセスは爆速になるんじゃね?





というわけでやってみました!



RAMディスクはPCにメモリを増設して、余剰分を使いました。設定方法は(参考:メモリ増設とRAMディスク@ThinkPad X100e - 未完空間)をご覧くだしあ。

REDSTONEはCPUが処理する割合が比較的大きいゲームです。3Dに比べれば負荷は軽いのでノートPCでもプレイできますが、やはりGPUやHDDの速度も重要。んで、HDDがボトルネックになるのはデータファイルにアクセスするときです。ThinkPad X100eのは2.5インチ・5400rpmのHDDが載っているので、デスクトップ用で主流な3.5インチ・7200rpmより速度が落ちてしまいます。ましてやSSDなんぞには到底敵いませんw 数字としてはシーケンシャルリードで70MB/s程度です。

ですがメモリを使うRAMディスクなら……どや!!
photo_110208_03.jpg

シーケンシャルリードで860MB/s以上、あのCrucial RealSSDの倍以上の速度が出てます。クロックやシングルチャネルの影響か、RAMディスクとしては速い方ではありませんが、HDDと比べると圧倒的です。ここにREDSTONEのファイルを置けば、ファイルアクセス時のボトルネックは解消されるはず(`・ω・´)シャキーン
まずRAMディスク設定までは↑の別ブログのエントリ(の先にあるリンク)を参考にしてもらって、そこから先のポイントかな?という点を挙げてみます。

重要なのは、データファイル(もしくは赤石のフォルダ全部)をRAMディスク(Rドライブ)に移動させたら、元あった場所にはジャンクションを作っておくことです。ジャンクションはショートカットのΣ(゚Д゚)スゲェ!!バージョンみたいなもので、あたかも”そこにあるかのように”見せかけるものです。ジャンクションを置けば再インスコをしなくても、以前と同じように使えます。

手順0.
RAMディスクを作っておきます。
RAMディスクはPCの電源を落とすと中身が消えてしまいます。
参考サイトを見て、7-Zipによるファイル復元用のバッチファイル(ここではrambackup.bat)を用意しておきましょう。

手順1.
RドライブにC¥Program FileにあるGameONフォルダ(またはその下のRED STONEフォルダ)をコピーします。
1.4GB以上あるので、必ずRドライブはそれ以上の容量を確保してください。自分は3GBをRAMディスクに使っています。

手順2.
元の”C:¥Program Files¥GameON¥RED STONE”フォルダをリネームしておきます(”RED STONE backup”など)
ラムディスクのRED STONEフォルダのジャンクションを作成します。コマンドプロンプトを起動(スタートメニュー>アクセサリ>コマンドプロンプトを右クリックして「管理者として実行」)。
ジャンクションは図のようにmklinkコマンドで作れます。半角スペースに注意。

c:¥mklink /J "ジャンクションの名前" "ジャンクションのリンク元"


RS110209_01.jpg

手順3.
REDSTNEのファイルは非常にRドライブの容量を圧迫するので、ゲームをしないときには置かない(削除しておく)ほうが賢明です。1.4GBあれば普段はブラウザやシステムのキャッシュ、ページングファイルに使えます。ファイルのバックアップとリストア用のバッチファイルを、RS用とRSしない時用に2種類用意します(ここは自己判断)。どれもC:¥Windows¥System32にでもほりこんでおきましょう。↓に自分の例を載せておきます。

rambackup.bat(バックアップ用)
@ECHO OFF
SETLOCAL
SET RamDisk=R
SET BackupFileName="C:\RAM\rambackup_RS.zip"
SET SevenZipDir=C:\Program Files\7-Zip
IF NOT EXIST %RamDisk%:\ GOTO END
"%SevenZipDir%\7z.exe" u -tzip -mx1 -aoa -r -ssw -y -up1q0r2x1y2z1w2 %BackupFileName% %RamDisk%:
:END
ENDLOCAL

RSしない用ではRドライブからGameONフォルダを削除して、4行目のrambackup_rs.zipをrambackup.zipに書き換えて実行し、バックアップファイルを作ります。



ramrestore.bat(リストア用)
@ECHO OFF
SETLOCAL
SET RamDisk=R
SET BackupFileName="C:\RAM\rambackup.zip"
SET SevenZipDir=C:\Program Files\7-Zip
IF NOT EXIST %RamDisk%:\ GOTO END
IF NOT EXIST %BackupFileName% GOTO END
"%SevenZipDir%\7z.exe" x -aoa -y %BackupFileName% -o%RamDisk%:
:END
ENDLOCAL

4行目のrambackup.batをrambackup_RS.batに書き換えて別名保存しておけば、RSをしたいときに実行してRAMディスクにREDSTONEファイルを復元できます。


スクリーンショットや申告ファイルは消去されると困ります。なのでRドライブのRED STONEフォルダにジャンクションを作り、Cドライブのほうに保存先を用意します。C:¥Program Files¥GameONフォルダ内でさきほどリネームしたRED STONE backupフォルダでもいいでしょう。
ジャンクションの場所がさっきと逆なので注意です。

c:¥mklink /J "R:¥GameON¥RED STONE¥スクリーンショット" "C:¥Program Files¥GameON¥RED STONE backup¥スクリーンショット"

c:¥mklink /J "R:¥GameON¥RED STONE¥申告" "C:¥Program Files¥GameON¥RED STONE backup¥申告"

これでCドライブのバックアップフォルダ(元あったRED STONEフォルダ)にスクリーンショットなどが保存されます。


実際にやってみると、ファイルのバックアップやリストアには数分を要します。圧縮・解凍処理はCPU依存なので、環境によってはちょっと煩わしいかもしれません。

ですが予想通り、
読み込み速度は明らかに高速化しました!!
ジリジリ進んでイライラしていた開始時の赤いタマゴのロード時間があっという間に!
またマップ移動のロード時間も一瞬になりました!
(残念ながらGameGuardの動作は変わらないようです)



RAMディスクのおかげで、ロードも一瞬に、移動も一瞬に、死亡も一瞬になりました。

エフェクトのファイルアクセスも高速化されるはずなので、とくにエフェクトが重いギルド戦で効果が出るかもしれませんね。設定はあれこれと面倒ですが、SSDを使っていない&メモリに余裕がある方は試してみる価値は十分あります( ・∀・)つYO!
posted by 稜威 at 15:35 | Comment(4) | プレイ環境 |edit | このブログの読者になる | 更新情報をチェックする
Sponsored Links
この記事へのコメント
(☆∀☆)ムフフ・・・


|壁|ミ サッ
Posted by うんびす@数年ぶり at 2011年07月24日 03:18

ちょっとした、ドキドキがほしいな
http://mi4locc.love.chu-g.net/
Posted by 夏だからね at 2011年08月02日 00:57
稜威さんオヒサしぶりっすwwww
Posted by 星劉 at 2012年07月03日 19:54
うわ懐かしいwwwww
Posted by 稜威 at 2012年07月22日 22:15
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

×

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