nulnul のバックアップ(No.3)

ガンオンの蔵はバス依存
なぜそうなっているか


・キャラゲーなので機体情報がどんどん増える
(都市伝説ではあるが色違い機体は別管理とも・・・これだと肥大化はさらにひどいことに・・・)


・PCゲーで基本無料ということもあり低スペが多い
(いい加減ある程度のレベルは切り捨てりゃいいのに)

・プレーヤーのさまざまな環境に対応させる効率のいい蔵にするのを放棄した
(予算がかかる、最適化前後で挙動が変わってお詫び騒動になったからetc)


この辺の事情もあって大規模戦の中で動的にデータの読み込みが多発する構造でこの読み込みが重なるとハイスペックだろうがフレームレートが落ちることになる。



一般的な考えではシステムドライブやゲームの置き場はSSDにしておけば基本読み込みばかりなので問題ないと思うのだけどガンオンだけは違ったorz
SATA 3の6Gbpsでもボトルネックになっている感じ。(PCIe接続のM.2 SSDはもってないのでわからない)



そこで思いついたのが必要なデータをRAMディスクにのせてしまおうという作戦。

① ガンオン蔵をRAMディスクにまるまる入れる方法

 こちらはインストール先がRAMディスクってだけの話なので規約的にはなにも言われないはず。

 RAMディスクにガンオン蔵をまるまるインストールしてもいいのだけど、
 これだとチャットのログ書き込みや スクリーンショットの保存、
 パッチの更新などを考慮すると電源切る前にストレージに保存する作業が
 発生するのでめんどくさい。
 保存前にブルスク等で再起動等起こるともちろんRAMディスクの中身は吹っ飛ぶ。

② windowsのジャンクション機能を使って部分的にRAMディスクに置く方法

 改造はしてないのだけれども難癖つけられる可能性がぬぐいきれない・・・・
 (ケチつけるくらいなら予算つけて蔵を最適化しろよって話だが)

 ジャンクション機能とは言葉は難しく感じるが日常的に聞きなれたものだとショートカットと同等のもの。

 おすすめのRAMディスクソフト
 SoftPerfect RAM Disk

 SoftPerfect RAM Diskおススメ設定
 16GBの人はsoundとmovieのフォルダを元の位置にく
 割り当て容量を11300あたりで調整(アップデート毎に見直しは必要)
 オンボ民の救済設定(GPUは増設できないけどメモリは増設できる場合)

 VRAMを512MB以上1GB(これは絶対必須)
 ガンオンその他で2GBくらいは物理メモリが必要なので
 VRAM割り当て分+2GBの2.5GB~3GBを除いた残りをRAMディスクに
 ガンオンの設定は最低設定で
 

②の方法を前提に簡単な環境構築方法の説明を以下に。

1) RAMディスクソフトを使ってRAMディスクを作る。(わかりやすくするためにドライブ名称はRで)
2) HDDやSSDにインストールしてあるガンオン蔵をバッチを使ってゲーム開始前にコピーなどする。(ガンオン蔵はC:\BNO\GundamOnline\に入っているという前提)
3) ガンオンを開始
4) ガンオンが終わったらジャンクションの解除などを行って2)を行う前に戻す。

新バッチはこちら
パスはBNO20160709
こちらは4GBを数百MBオーバーするので多めに確保してください。

旧バッチはこちら
パスはBNO20160709

新バッチ Edit

ラムディスク容量9GB(9220MB)必要

ゲーム開始前用 Edit

cd C:\BNO\GundamOnline\
ren data _data
cd C:\BNO\GundamOnline\_data\
xcopy /e /y chara r:\data\chara\
xcopy /e /y fx r:\data\fx\
xcopy /e /y font r:\data\font\
xcopy /e /y item r:\data\item\
xcopy /e /y location r:\data\location\
xcopy /e /y material r:\data\material\
xcopy /e /y pilot r:\data\pilot\
xcopy /e /y scene r:\data\scene\
xcopy /e /y script r:\data\script\
xcopy /e /y settings r:\data\settings\
xcopy /e /y world r:\data\world\
copy *.hed r:\data\*.*

rem 巨大なのでコピーせず
rem xcopy /e /y interface r:\data\interface\
rem xcopy /e /y movie r:\data\movie\
rem xcopy /e /y sound r:\data\sound\

rem コピーしない代わりにジャンクション
mklink /J r:\data\interface\ interface
mklink /J r:\data\movie\ movie
mklink /J r:\data\sound\ sound

cd C:\BNO\GundamOnline\
mklink /J data r:\data\
pause

ゲーム終了後用 Edit

cd C:\BNO\GundamOnline\
rmdir data
ren _data data
pause

旧バッチ Edit

ゲーム開始前用 Edit

cd C:\BNO\GundamOnline\data\
xcopy /e /y chara r:\chara\
ren chara _chara
mklink /J chara r:\chara\
xcopy /e /y location r:\location\
ren location _location
mklink /J location r:\location\
xcopy /e /y world r:\world\
ren world _world
mklink /J world r:\world\
pause

ゲーム終了後用 Edit

cd C:\BNO\GundamOnline\data\
rmdir /s /q chara
rmdir location
rmdir /s /q world
ren _chara chara
ren _location location
ren _world world
pause

このバッチはテスト環境の都合上、RAMディスクに割り当て可能なメモリが4GBだったのでdataフォルダの一部をアップしたときのものになっています。
RAMディスク用に13GBちょっと取れる人はバッチの中を書き換えてdataフォルダ丸々アップしたほうがより快適になると思います。
追試は2016/07/10行うのでその後また改定予定



ホーム リロード   新規 下位ページ作成 コピー 編集 添付 一覧 最終更新 差分 バックアップ 検索   凍結 名前変更     最終更新のRSS