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

  • 追加された行はこの色です。
  • 削除された行はこの色です。
ガンオンの蔵はバス依存
なぜそうなっているか
&br;
・キャラゲーなので機体情報がどんどん増える
(都市伝説ではあるが色違い機体は別管理とも・・・これだと肥大化はさらにひどいことに・・・)
&br;
・PCゲーで基本無料ということもあり低スペが多い
(いい加減ある程度のレベルは切り捨てりゃいいのに)
&br;

・プレーヤーのさまざまな環境に対応させる効率のいい蔵にするのを放棄した
(予算がかかる、最適化前後で挙動が変わってお詫び騒動になったからetc)
&br;
この辺の事情もあって大規模戦の中で動的にデータの読み込みが多発する構造でこの読み込みが重なるとハイスペックだろうがフレームレートが落ちることになる。

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

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

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

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

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

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

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

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

 おすすめのRAMディスクソフト
 [[SoftPerfect RAM Disk>http://www.vector.co.jp/soft/winnt/hardware/se502682.html]]
  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)を行う前に戻す。

新バッチは[[こちら>http://www1.axfc.net/u/3689699]]
パスはBNO20160709
こちらは4GBを数百MBオーバーするので多めに確保してください。

旧バッチは[[こちら>http://www1.axfc.net/u/3689406]]
パスはBNO20160709
**新バッチ [#t70724de]
ラムディスク容量9GB(9220MB)必要
***ゲーム開始前用 [#ufee2f47]
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

***ゲーム終了後用 [#m05ea7de]

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


**旧バッチ [#b97e79dd]
***ゲーム開始前用 [#j5854675]

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

***ゲーム終了後用 [#ja04845a]

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行うのでその後また改定予定


**番外 SSD向け[#ge42d458]
userとchatのアクセス頻度が異常に多いためにこれらをラムディスクに移動させたもの
userとchatのwrite頻度が異常に多いためにこれらをラムディスクに移動させたもの
どれくらい頻繫かと言うと、戦場への移動とチャットでの発言毎にギャッシュ無しでwriteを行っている
ついでに旧仕様のデータも移動させているためSSDではなくても多少の効果が見込めるかも

cd C:\BNO\GundamOnline
xcopy /e /y /c user R:\user\
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 /e /y /c fx R:\data\fx\
xcopy /e /y /c item R:\data\item\
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
*コメント[#ze8be11c]
#pcomment(,reply,10,)



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