次の方法で共有


グラフィックス メモリの計算

VidMm正確なアカウントをクライアントに報告できるようにするには、まずは、グラフィックス メモリの総量を計算する必要があります。 VidMm では、次のメモリの種類と数式を使用してグラフィックス メモリ数を計算します。

  • 合計システム メモリ

    この値は、オペレーティング システムからアクセスできるシステム メモリの総量です。 BIOS が割り当てるメモリは、この数には表示されません。 たとえば、1 GBの DIMM (1,024 MB)を搭載し、BIOS が 1 MB のメモリを予約しているコンピューターは、1,023MB のシステム メモリが搭載されているかのように見えます。

  • グラフィックスで使用できるシステム メモリの合計

    この値は、GPU に専用または共有されているシステム メモリの総量です。 この数値は次のように計算されます。

    TotalSystemMemoryAvailableForGraphics = MAX((TotalSystemMemory / 2), 64MB)
    
  • 絞りセグメントのコミット制限

    この値は、VidMm がカーネルモードディスプレイ ミニポート ドライバー (KMD) が任意の時点で GPU 使用のためにピン留めできるように許可するシステム メモリの量です。 つまり、KMD がアパーチャ セグメントを介してメモリ マップできるシステム メモリの量です。 GPU に割り当てられるシステム メモリの総量は、コミット制限を大幅に超える可能性があります。ただし、VidMm は、最大コミット制限量のみが、一度に絞りセグメントに実際に常駐することを保証します。

    既定では、特定の絞りセグメントのコミット制限は、そのセグメントのサイズです。 KMD は、ドライバーがセグメントを記述するときに、DXGK_SEGMENTDESCRIPTOR 構造体の CommitLimit メンバーで別のコミット制限を指定できます。 このような方法で指定されたコミット制限は、ドライバーが記述する特定のセグメントにのみ適用されます。

    セグメントごとのコミット制限に加えて、すべての絞りセグメントにグローバルコミット制限があります。 このグローバル コミット制限は、共有システム メモリとも呼ばれます。 VidMm はこの値を計算します。 KMD では、DXGK_DRIVERCAPS 構造体の ApertureSegmentCommitLimit でこの値を小さい値にできますが、これは推奨されません。

    VidMm では、KMD がセグメントごとのコミット制限やグローバル コミット制限に違反することはできません。 特定のセグメントのコミット制限が1 GBで、グローバル コミット制限が256 MBの場合、VidMm では、KMD が 256 MB 以上のシステム メモリをそのセグメントにマップできません。

  • 専用ビデオ メモリ

    この値は、KMD が、各セグメントに対する DXGK_SEGMENTFLAGS 構造体で PopulatedFromSystemMemory メンバーを指定しなかったすべてのメモリ セグメントのサイズ合計です。

  • 専用システム メモリ

    この値は、KMD が、各セグメントに対する DXGK_SEGMENTFLAGS 構造体で PopulatedFromSystemMemory メンバーを指定したすべてのメモリ セグメントのサイズ合計です。 この数は、グラフィックスで使用できるシステム メモリの合計 (TotalSystemMemoryAvailableForGraphics) を超えることはできません。

  • 最大共有システム メモリ

    この値は、GPU と共有されるシステム メモリの最大量です。 VidMm では、次の数式を使用して計算します。

    MaxSharedSystemMemory = TotalSystemMemoryAvailableForGraphics - DedicatedSystemMemory
    
  • 共有システム メモリ

    この値は、GPU と共有されるシステム メモリの最大量です。 VidMm では、次の数式を使用して計算します。

    SharedSystemMemory = MIN(MIN(SumOfCommitLimitOnAllApertureSegment, DXGK_DRIVERCAPS.ApertureSegmentCommitLimit), MaxSharedSystemMemory)
    
  • 合計ビデオ メモリ

    この値は、ビデオ メモリの総量です。 VidMm では、次の数式を使用して計算します。

    TotalVideoMemory = DedicatedVideoMemory + DedicatedSystemMemory + SharedSystemMemory
    

関連する記事は次のとおりです。