ゲームにRAMディスクを使用する(仮)

RAMドライブにゲームをインストールして、起動・終了ごとにレストア・バックアップをする方法でも可能ですが
毎回それでは手間がかかるため、シンボリックリンクまたはジャンクションというものを使います。
NTFSでのみ使用可能なので、あらかじめRAMドライブをNTFSでフォーマットしておきましょう。

NTFSで圧縮が有効な場合、大きいファイル(またはそれらが含まれるフォルダ)からコピーさせましょう。
たとえコピー元が圧縮されていても、無圧縮状態でRamdiskにコピーした後に圧縮するので
大きいファイルをコピーする場合にRamdiskの容量が不足していると判定されて正常にコピーされないことがあります。
ファイルが足りないままゲームをプレイするとエラーが発生する可能性があります。
初回はコピー元とのファイル数を比較するなどで確認し、もし足りていなければ
バッチファイル内のコピー順序を入れ替えるなどして対処するとよいでしょう。


776 名前:名無し~3.EXE[sage] 投稿日:2008/05/10(土) 01:03:30 ID:J2kxY6yJ
721と同様だが、リネージュⅡで試したら出来た。

とりあえずRamDiskを1GBでRドライブとして作成。

http://kawa.at.webry.info/200607/article_1.html から linkd.exe を抽出し、C:\Windowsにコピー

②HDDにインストしてある"C:\Program Files\NCSoft\Lineage II\maps"を"C:\Program Files\NCSoft\Lineage II\maps_org"にリネーム

③以下のバッチファイルを作成
xcopy /s /e /y /h /r "C:\Program Files\NCSoft\Lineage II\maps_org" R:\maps\*.*
linkd "C:\Program Files\NCSoft\Lineage II\maps" R:\maps

④スタートアップにバッチファイルのショートカットを放り込む

起動する度に勝手に作成してくれるから楽。
メモリを8GB積んで別のフォルダもシンボリックリンクすれば
もっと速くなるかどうかは知らん。
ちなみに1GBじゃ大した変わらなかった。
(気持ち速くなった程度)




↑↑↑
「StaticMeshes」というフォルダをリンクするとGK移動など早くなる。
mapフォルダのデーターは読み出し単位が大きいのでリンクしてもHDから読み出してもあまり変わらないみたいです。
8Gつむなら、「StaticMeshes」「Textures」「SysTextures」「system」のフォルダをリンクする事で体感できるほど読み込みが早くなります。




メモリを8GBつんでいて、複数のゲームを手軽にRAMディスクへ移動して起動したい場合(例:リネージュ2とサドンアタックをRAMに入れる場合)
(注意1:RAMディスクの設定でMedia Typeを「Fixed Media」に設定しないとバッチファイルに不具合が出る事があります。)
(注意2:NTFSフォーマットのbatをスタートアップに入れてある場合、先にNTFSバッチしてからここのバッチファイルを起動してください。リンク修正ができず不具合が出ます。RAM領域がFAT32でも動作しますのでNTFSにする必要がなければそのままをお勧めします。)
ウィンドウズ上の認識が3.25GBとかだと容量不足で入らない場合があるのでレジストリの
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RRamdisk\Parameters\DiskSizeM
の値を1450(16進)くらいにして再起動

ディスク容量不足の警告がうるさい場合
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLowDiskSpaceChecks
存在しない場合「NoLowDiskSpaceChecks」というDWORDを作成して値を1(16進又は10進どちらでも)とする。

※以下、別ゲームで応用する人は必ず事前にバックアップを取っておくこと。
※ファイルの削除が含まれる為、バッチファイルの記述は間違えないよう注意深く書くこと。下手すると消してはいけないものを消してしまうこともありえる。

①パスの設定

上のlinkd.exeとFireFileCopyというソフトをダウンロードしてパスを当てます。http://www.vector.co.jp/soft/win95/util/se193087.html
ここではlinkd.exeはC:\DOS-SOFT\linkd、FireFileCopyはC:\Program Files\ffcへ置く事を前提としております。設置場所をかえたい場合は各自調整してください。
コントロールパネル>システム>詳細設定>環境変数>○○のユーザー環境変数>pathへ
C:\DOS-SOFT\linkd;C:\Program Files\ffc
(すでにパスがある場合は半角セミコロンで区切って入力してください。ない場合は新規>変数名は「path」>変数値に上記を入力)


②サドンアタックの起動処理

C:\Program Files\RedBananaへ下記バッチファイルを作成

sa_load.bat
if exist "R:\gm\SuddenAttack\suddenattack.exe" goto play
call "C:\Program Files\start\autoload.bat"
if exist "C:\Program Files\RedBanana\SuddenAttack1\suddenattack.exe" exit
ffc "C:\Program Files\RedBanana\SuddenAttack" /to:"R:\gm" /copy /md /a
move "C:\Program Files\RedBanana\SuddenAttack" "C:\Program Files\RedBanana\SuddenAttack1"
linkd "C:\Program Files\RedBanana\SuddenAttack" "R:\gm\SuddenAttack"
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" http://suddenattack.redbanana.jp/
exit
:play
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" http://suddenattack.redbanana.jp/
exit

sa_save.bat
if not exist "R:\gm\SuddenAttack\suddenattack.exe" exit
move "R:\gm\SuddenAttack" "R:\gm\SuddenAttack2"
if not exist "R:\gm\SuddenAttack2\suddenattack.exe" exit
rd "C:\Program Files\RedBanana\SuddenAttack" /S /Q
move "R:\gm\SuddenAttack2" "R:\gm\SuddenAttack"
ffc "R:\gm\SuddenAttack" /to:"C:\Program Files\RedBanana" /copy /md /a
rd "R:\gm" /S /Q
rd "C:\Program Files\RedBanana\SuddenAttack1" /S /Q

上のバッチファイルのショートカットをディスクトップへ作成
黒い画面が出るのがいやな場合、作成されたショートカットのプロパティで実行時の大きさを最小化にする


③リネージュ2の起動処理

C:\Program Files\NCSoft\Lineage IIへ下記バッチファイルを作成

l2_load.bat
if exist "R:\gm\l2\system\l2.exe" goto play
call "C:\Program Files\start\autoload.bat"
if exist "C:\Program Files\NCSoft\Lineage II\system1\l2.exe" exit
ffc "C:\Program Files\NCSoft\Lineage II\SysTextures" /to:"R:\gm\l2" /copy /md /a
ffc "C:\Program Files\NCSoft\Lineage II\system" /to:"R:\gm\l2" /copy /md /a
ffc "C:\Program Files\NCSoft\Lineage II\StaticMeshes" /to:"R:\gm\l2" /copy /md /a
ffc "C:\Program Files\NCSoft\Lineage II\Textures" /to:"R:\gm\l2" /copy /md /a
move "C:\Program Files\NCSoft\Lineage II\SysTextures" "C:\Program Files\NCSoft\Lineage II\SysTextures1"
move "C:\Program Files\NCSoft\Lineage II\system" "C:\Program Files\NCSoft\Lineage II\system1"
move "C:\Program Files\NCSoft\Lineage II\StaticMeshes" "C:\Program Files\NCSoft\Lineage II\StaticMeshes1"
move "C:\Program Files\NCSoft\Lineage II\Textures" "C:\Program Files\NCSoft\Lineage II\Textures1"
linkd "C:\Program Files\NCSoft\Lineage II\SysTextures" "R:\gm\l2\SysTextures"
linkd "C:\Program Files\NCSoft\Lineage II\system" "R:\gm\l2\system"
linkd "C:\Program Files\NCSoft\Lineage II\StaticMeshes" "R:\gm\l2\StaticMeshes"
linkd "C:\Program Files\NCSoft\Lineage II\Textures" "R:\gm\l2\Textures"
"C:\Program Files\NCSoft\Lineage II\LineageII.exe"
exit
:play
"C:\Program Files\NCSoft\Lineage II\LineageII.exe"
exit

l2_save.bat
if not exist "R:\gm\l2\system\l2.exe" exit
move "R:\gm\l2" "R:\gm\l22"
if not exist "R:\gm\l22\system\l2.exe" exit
rd "C:\Program Files\NCSoft\Lineage II\SysTextures" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\system" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\StaticMeshes" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\Textures" /S /Q
move "R:\gm\l22" "R:\gm\l2"
ffc "R:\gm\l2\SysTextures" /to:"C:\Program Files\NCSoft\Lineage II" /copy /md /a
ffc "R:\gm\l2\system" /to:"C:\Program Files\NCSoft\Lineage II" /copy /md /a
ffc "R:\gm\l2\StaticMeshes" /to:"C:\Program Files\NCSoft\Lineage II" /copy /md /a
ffc "R:\gm\l2\Textures" /to:"C:\Program Files\NCSoft\Lineage II" /copy /md /a
rd "R:\gm" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\SysTextures1" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\system1" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\StaticMeshes1" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\Textures1" /S /Q

上のバッチファイルのショートカットをディスクトップへ作成
黒い画面が出るのがいやな場合、作成されたショートカットのプロパティで実行時の大きさを最小化にする


④フリーズや強制終了など発生した場合のリンク解除・修正

C:\Program Filesへ「start」フォルダを作成して下記バッチファイルを作成

autoload.bat
call "C:\Program Files\start\l2.bat" 
call "C:\Program Files\start\sa.bat"

sa.bat
if not exist "C:\Program Files\RedBanana\SuddenAttack1\suddenattack.exe" goto end
rd "R:\gm" /S /Q
rd "C:\Program Files\RedBanana\SuddenAttack" /S /Q
move "C:\Program Files\RedBanana\SuddenAttack1" "C:\Program Files\RedBanana\SuddenAttack"
:end

l2.bat
if not exist "C:\Program Files\NCSoft\Lineage II\system1\l2.exe" goto end
rd "R:\gm" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\SysTextures" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\system" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\StaticMeshes" /S /Q
rd "C:\Program Files\NCSoft\Lineage II\Textures" /S /Q
move "C:\Program Files\NCSoft\Lineage II\SysTextures1" "C:\Program Files\NCSoft\Lineage II\SysTextures"
move "C:\Program Files\NCSoft\Lineage II\system1" "C:\Program Files\NCSoft\Lineage II\system"
move "C:\Program Files\NCSoft\Lineage II\StaticMeshes1" "C:\Program Files\NCSoft\Lineage II\StaticMeshes"
move "C:\Program Files\NCSoft\Lineage II\Textures1" "C:\Program Files\NCSoft\Lineage II\Textures"
:end

autoload.batのショートカットをスタートアップへ作成

⑤動作

Load.batを起動すると
別のゲームデーターがRAMディスクにある場合はリンク解除してから削除します。
同じゲームデーターの場合はすぐにそのままゲームが起動します。
空の場合FFCで高速にRAMへコピーします。コピー完了後リンクを張ります。
ゲームが起動します。

オンラインゲームの場合、SS撮影やアップデートがない限り、基本的にセーブする必要がないのでゲーム終了した後は何もする必要はありません。
SSを保存する時やアップデートがあった時はゲーム終了した時にsave.batを実行する事で保存されます。

RAMディスクへコピーせずに通常起動したいときはそのまま各種ゲームの起動exeファイルをクリックするだけでOK


Gavotte RamdiskでFF11 その2
http://shantoto.blog66.fc2.com/blog-entry-443.html

32bitWindowsXPでメモリ8GBを使い切れ!Gavotte Ramdiskで4GBの壁を超える 活用編2
http://beboxos.blog75.fc2.com/blog-entry-131.html

作成したRAMDISKをゲームで利用できるようにする手順
http://d.hatena.ne.jp/p-4/20080511/p1

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2009年05月26日 18:59
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。