web-dev-qa-db-ja.com

ビデオカードに割り当てられているシステムメモリの量を確認するにはどうすればよいですか?

NVIDIAコントロールパネルから:

  • 利用可能なグラフィックメモリの合計:3839 MB
  • 専用ビデオメモリ:256 MB DDR2
  • システムビデオメモリ:64 MB
  • 共有システムメモリ:3519 MB

dxdiagから:

  • ディスプレイメモリ:3815 MB
  • 専用メモリ:231 MB
  • 共有メモリ:3583 MB

どうやら私のシステムは、統合グラフィックカードに256MBを割り当て、3.5GBを共有しています... 3.5GBは巨大です!その3.5GBのどれだけが実際にグラフィックカードに割り当てられているかを知るにはどうすればよいですか?(したがって、アプリケーションでは使用できません)

仕様:

  • OS:Windows 764ビット
  • RAM:8GB
  • GPU:GeForce 9300 mGPU(nForce 730i)
5
netvope

これはモバイルGPUでは正常です。ある時点で、nVidiaは、カードが独自のRAMとシステムRAMの両方を使用できるシステムを作成しました。その後、32MiBと64MiBのRAMを搭載したグラフィックカードをいくつか発表しました。彼らはシステムRAMを使用できるので、私が正しく覚えていれば、RAMの合計量は128MiBと256MiBになります。基本的に、専用ビデオメモリはカードのRAMであり、共有メモリはカードが追加のメモリを必要とするときに使用できるメインRAMです。そのシステムはモバイルグラフィックカードに残っていました。私の知る限り、カードがそのメモリを使用しているかどうかを確認する方法はありません。私自身、4 GiBシステムにGeForce9500M GSを搭載しており、システムRAMをカードが消費する問題が発生したことはありません。私のコンピューターでは、共有RAMは1790 MiBであるため、ドライバーがシステムRAMの特定の割合を共有として自動的に設定している可能性があります。

編集:いくつかの計算を行った後、共有メモリはメインシステムRAMの約43.7%に設定されているようです。

ここ はNVIDIAのサイトにあるそのテクノロジーに関する記事です。 ここ このテクノロジーに関するもう1つの興味深い記事です。

私が読んだところによると、TurboCacheは他のアプリケーションでは使用されないRAMのみを使用し、必要な場合にのみRAMを使用するため、必要なRAMを使い果たしても問題はありません。そのため、いつパフォーマンスが向上するか。

5
AndrejaKo

私が共有ビデオメモリについて理解していることから、これは専用のRAMを持たないマザーボード上の内蔵メモリチップにのみ適用されます。

システムは、ビデオメモリとして使用するためにメモリのごく一部を確保します。

「適切な」ビデオカード(つまり、スロットに差し込むもの)がある場合、コンピュータはシステムメモリをビデオカードと共有しません。

ビデオカードがオンボードの場合は、コンピュータのBIOSでビデオカードが使用しているメモリの量を選択できるはずです。

dxdiagで見ている数値は、ソフトウェア(DirectX)がアクセスできるメモリの量です。 256MBのグラフィックカードをお持ちのようです。DirectXは3.5GBのシステムメモリを使用して、テクスチャのキャッシュなどのグラフィックを作成できます。

2
Majenko

ビデオチップセットには、GPU自体に物理的に接続された独自の256MBのRAMがあります。GPUには、システムとRAMを共有する能力もあります。 3.5GB程度までですが、それが行われることはほとんどありません。その場合、そのメモリを使用して操作を完了するのに必要な時間だけです。

共有システムメモリへのGPUのアクセスは非常に遅いため、マップを維持する意味がありません。必要に応じてCPUにGPUの専用メモリにアクセスさせる方がはるかに論理的です。 (主に、GPUがシステムメモリにアクセスするときに、システムメモリの他の使用法と競合しないためです。)

実用的な目的のために、共有メモリ機能を維持する理由は2つだけです。 1つは、専用メモリをまったく使用せずにGPUを操作する機能を維持することです。もう1つは、マーケティング目的で「最大3.75GBのビデオメモリ」などをサポートしていると言えることです。

1
David Schwartz