VRM-FAQ

鉄道模型シミュレーター3の使い方

Q:ビュワーの使用メモリーについて


A:

本題に入る前に仮想メモリーについて。

Windowsは、実際に搭載しているメモリーより多くのプログラム、データを同時に動作させられる様に仮想メモリーという仕組みを搭載しています。Windowsが動作するプラットフォームの多くを占めるインテルCPUは、標準で4KBごとに区切ったページをハードディスクに出し入れしながら管理するページング方式をとっています。物理メモリーは、物理的なアドレスではアクセスされず、連続したアドレスをもった仮想空間にページを介して全物理メモリーが割り当てられています。

仮想メモリーは、物理メモリーとハードディスク上のページングファイルから構成されていて、別々の集合ではなく、仮想メモリーの一部が物理メモリーと考えてください。そして、この物理メモリーは仮想空間からは隠蔽されています。また、現在のWindowsは、一度物理メモリーを仮想空間に配置する必要から仮想メモリーそのものを停止することはできません。(仮想メモリーの待避先になるページングファイルは増減できますが環境によって条件が異なります。)

混乱の原因ともなりますが、タスクマネージャーで表示できる「仮想メモリーサイズ」は、実際にはページングファイルに待避させられたメモリー空間の大きさです。仮想メモリーの全使用量ではありません。


本題のビュワーの使用するメモリーについての質問の答えです。


物理メモリーの使用量が一定値より増えないのですか?

仮想メモリーは、使用頻度の低いページをハードディスクに積極的に待避します。ビュワーの場合、起動時にシステムに組み込まれている「車輌」「ストラクチャー」を先読みします。これは全データをロードしますが、レイアウトは、多くの場合、このデータの一部しか使用しないため、OSによってページングファイルに大半のデータが待避されます。これがビュワーの生成するページアウト(=ハードディスクに書き込まれた)した仮想メモリーの実体です。

仮想メモリーにマッピングされている物理メモリーには、レイアウトに必要な車輌、ストラクチャーが読み込まれています。ビュワーは、この必要なデータに毎秒数十回から百数十回アクセスするため、データは常に物理メモリーにマッピングされています。

これらのデータは、実行速度を最大限にするために、高度なプログラムによってコンパクトになるように設計されています。データが小さいほどパソコンの処理速度はアップするためです。
さて、質問の答えですが、物理メモリーの使用量は一定値より増えないのではなく、増える量がページアウトしているデータ全体の量と比較して小さいので、増えているのが実感できないというのが答えです。徹底的に最適化された、つまり、それだけ非常に高性能なプログラムと考えてください。

※ビュワーのメモリー使用量に上限はありません。
※レイアウターは、逆にUNDOデータを次々とバックアップしていくため、大量のメモリーを消費します。

PAGE TOP