ライナの旅日誌

公開

PC 版ロードの高速化 !? その2


---- 2019/8/19 追記:最後に注意を付け加えました
前回の日誌
https://masters.caravan-stories.com/posts/siyjrcln

を書いた後、「さらに高速化できる方法は無いのか ?」 を考えていたところ、メモリを使ったキャッシュがあるな~っと思いついたわけです。

なので今回はメモリをキャッシュとして使う方法になるわけですが、メモリが 16GB 以上無いと厳しいと思うので、メモリが潤沢にある人向けとなります。

Windows OS 自体にもメモリキャッシュ機能はあって、以前は SuperFetch、今は SysMain として組み込まれています。ただこれはプログラム用であって、データは対象外です。
これの動作を簡単に説明するとよく使うアプリがある場合に、起動前にメモリに展開しておくことで、いざ使おうとしたときにすぐに使えるようにするものです。

今回はキャラストの Unity データ約 9.6GB が対象ですので、本当にメモリが潤沢すぎるほどある場合は、RAM DISK という手もあるのですが、常に 9.6GB 必要なわけではなく、ゴルダンとか修練の間の時間制限のある狩りにおいて、ロード時間をいかに早くできるかがポイントなので、特定のデータのみとなります。つまりそこだけキャッシュできれば事足ります。

アクセス速度は
メモリ > SSD > HDD
なので、メモリにデータをキャッシュできればロード時間の短縮が図れるのではないか? という推測が出来ます。

私がキャラストで使っている PC は
https://masters.caravan-stories.com/posts/zirirpri
でも書いたように、2012 年モデルなので、最新の PC に比べれば遅いわけですが、それでも、メモリ キャッシュを使えば、現状考えられる最高速になるかなと。

まずはメモリ キャッシュを設定した状態の戦闘からの復帰と戦闘時のロード時間の動画です。

修練の間: https://youtu.be/M92zPCFgrBM
ゴルダン: https://youtu.be/9TmKQex1m7g

体感的にはメモリ キャッシュを利用しないよりは、若干早くなったかなという感じですが、この記事を読んでいる人で、この動画よりロードに時間がかかっているようならメモリ キャッシュの利用で早くなる可能性がある!?。

ではどうするのか ?
残念ながら OS の標準機能にはありません。 そのため、ソフトを入れて実現するわけですが、同じようなソフトはいくつかあり、Windows 10 に対応していて、試用版があり、効果を十分体感できる試用期間が 30日あるのは、探した限りでは PrimoCache だけでした (なお、このソフトはすべて英語です)。


ダウンロードは
http://www.romexsoftware.com/en-us/primo-cache/download.html
からできます (通常は 64bit 版をダウンロードします)。

インストール後に再起動し、最初に行う事は CacheTask 作成です。
CacheTask の作成時にキャッシュ対象とするドライブを選択します。 C: ドライブにキャラストを入れて、遊んでいる人は C: ドライブだけで OK です。
(私は D: ドライブにキャラスト本体をインストールしています)

次に、Cache Configuration ですが、Level-1 Cache がメモリ キャッシュです。自動的にお勧め値が表示されますが、私はここを 4G にしています。 その右にあるアイコンですが、読み込みと書き込みをどれくらいの割合でキャッシュするかの設定ができますが、私はここは 100% Read に設定しています。
つまり、読み込みキャッシュのみ利用する (Read Only) 設定です。

Level-2 Cache は SSD に未使用のパーティションを作成し、そこをキャッシュエリアとして使うというもので、 SSD による速度差があったり、HDD に対して使う時は有用ですが、そうでない場合は無くても OK です。私は C ドライブの SSD が一番早いので、そこに Level-2 Cache を 2G 程確保してみました

2週間ほど使ってみた結果、体感的に若干なりとも効果はある感じです。

Cache Hit Rate がメモリキャッシュがどれくらいヒットして SSD からではなくメモリから読み込まれたかの値ですが、C: ドライブの場合キャラスト以外にいろんなファイルが読み込まれるので、上がり下がりが大きく 50% ぐらい行くときもあれば、画像のように 28% ぐらいの時もあります。

C: ドライブが一番早いので、C: ドライブでは使われているのは Level-1 キャッシュ(メモリ)のみという事が分かります。一方 D: ドライブでは、C: ドライブに用意した Level-2 キャッシュも使われていることがわかります。

まぁこんな感じでロード時間に悩んでいる人は試してみるといいかもです !

注意:
OS のアップグレードと相性が悪いようです。
OS のアップグレードを行うと、試用期間が残っていてもなくなってしまい、また動作が不安定になる事が確認できました。
OS アップグレードに再起動を繰り返すようになりました。しょうがないので、強制ロールバックを行い、アンインストールを行ってから OS のアップグレードを行いましたので、OS のアップグレードを行う予定の人は注意です。


ライナ

コメント