nulnul のバックアップの現在との差分(No.1)

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


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


・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 chara

rmdir /s /q chara
rmdir location

rmdir world

rmdir /s /q world
ren _chara chara
ren _location location
ren _world world
pause

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

番外 SSD向け Edit


userとchatのwrite頻度が異常に多いためにこれらをラムディスクに移動させたもの

どれくらい頻繫かと言うと、戦場への移動とチャットでの発言毎にギャッシュ無しでwriteを行っている

ついでに旧仕様のデータも移動させているためSSDではなくても多少の効果が見込めるかも

cd C:\BNO\GundamOnline

xcopy /q /e /y /c user R:\user\

xcopy /e /y /c chat R:\chat\

ren user _user

ren chat _chat

mklink /J user R:\user

mklink /J chat R:\chat

cd data

xcopy /q /e /y /c fx R:\data\fx\

xcopy /q /e /y /c item R:\data\item\

ren fx _fx

ren item _item

mklink /J fx R:\data\fx

mklink /J item R:\data\item

echo プレイ終了後にキーを押してください

pause

rmdir /s /q R:\data\fx

rmdir /s /q R:\data\item

rmdir /s /q R:\data

rmdir /s /q fx

rmdir /s /q item

rename _fx fx

rename _item item

cd ..

xcopy /e /y R:\user _user\

rmdir /s /q R:\user

rmdir /s /q user

rename _user user

xcopy /e /y R:\chat _chat\

rmdir /s /q R:\chat

rmdir /s /q chat

rename _chat chat

コメント Edit

最新の10件を表示しています。 コメントページを参照 画像を非表示

  • ありがたく使わせていただきます。ちなみに、「02 遊び終わったら使うっちゃ.bat」は、具体的にはガンオンのクライアントを落とす前に実行すべきなのか、クライアントを落とした後に実行すべきなのか、どちらになるのでしょうか? -- 2017-03-14 (火) 12:13:01
お名前:

  URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White


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