MariのVirtual Textureに対するGPUメモリ使用量の計算方法

MARIは極めてGPUを多用するソフトウェアです。多くの場合、グラフィックカードが処理できるメモリ量は、アプリケーションのパフォーマンスに直接関係することがあります。

Mariを実行するのに必要なメモリ量は、常にプロジェクトのサイズに依存します。

こちらの記事では、異なるプロジェクトサイズに対して、Virtual Textureを計算するのに必要なメモリ量を計算する方式について説明します。

 

MariがVirtual Texturesの計算に消費する量を見出すため、プロジェクトサイズに依存するメモリ計算は、次の方式に凝縮されます。

Pixel Size x Width x Height x Depth
#(ピクセルサイズ x 幅 x 高さ x 奥行き)

例えば、4Kテクスチャの32ビットチャンネルの場合、以下のようにメモリ使用量を計算できます。

32 bit x 4     = 128 bit       ## 「4」はR、G、B、A、そしてピクセル毎の32ビットを示します
128 bit / 8    = 16 Bytes       ## 128ビットをバイトに変換します(イコール16バイト)
16 x 4096      = 65536 Bytes        ##テクスチャレイヤの幅を掛けます
65536 x 4096   = 268435456 Bytes     ## テクスチャレイヤの高さを掛けます
268435456 x 8  = 2147483648 Bytes    ## レイヤスタックの中のレイヤ数を掛けます
合計:2.147483648ギガバイト

こちらの例では、約4ギガバイトのメモリが搭載されているグラフィックカードの場合、Mariは既にVirtual Textureだけの計算に専用のメモリを半分以上使用していることを示します。

Mariの中で他のプロセスが処理されていることを考え始めると、他の機能やシェーダの計算、そしてGPUを使用していると考えられる他で開いているアプリケーション(ウェブブラウザを含む)でも消費されるため、なぜユーザーがメモリ不足に陥りやすいのかが理解しやすくなります。

 

補足:より多くのRAMがあると、より良いパフォーマンスが得られます。以下の記事では、他のハードウェア構成要素がどのようにMARIの動作に影響するのかと、その使用目的について説明しています。

MARIが使用するハードウェア構成要素

 


関連リンク