1

アプリケーションがメイン GPU を使用するように強制しようとしています。これで、CPU 上のものが自動的に取得されます。DirectX9 と OpenGL の両方で試しました。

GetAdapterCount() 関数を呼び出すと、DirectX は 1 つのアダプターのみを返します。また、glGetString( GL_RENDERER ) を呼び出すと、OpenGL は 1 つのアダプターのみを返します。

適切な GPU を使用していることを確認する方法はありますか?

4

2 に答える 2

2

Nvidia Optimus + SandyBridge CPU ラップトップでこの問題が発生しました。全員 (DX、GL) から返されたアダプターは 1 つだけで、Intel GPU が提供されました。

Nvidiaドライバーを更新することでこれを修正しました。最新バージョンの DirectX をインストールすると、2 つのアダプターが正しく報告され、ベンダー ID (Intel と Nvidia) に基づいて、アプリケーションで使用する GPU を選択できました。

または、Nvidia コントロール パネルに移動して、実行可能ファイルのプロファイルを作成し、常に Nvidia GPU を使用するように設定することもできます。もちろん、実行可能ファイルを他の人に渡して、悪いドライバーを使用してシステムで実行させた場合、これは同じ問題を解決しません。

別のオプションは、実行可能ファイルの名前を一般的なゲームの実行可能ファイル名に変更することです。rage.exe や bf3.exe のように。これが機能するのは、Nvidia コントロール パネルには、一般的なゲームの exe 名を持つ事前定義されたプロファイルが多数あり、それらはすべて Intel GPU の代わりに Nvidia GPU を使用するように設定されているためです。

于 2012-05-03T00:03:58.817 に答える
0

これは複雑で、ハードウェアに依存します。ハイブリッド グラフィックスを搭載したラップトップを使用していますか? その場合、通常、ドライバーは OpenGL コンテキストの「メイン」GPU を提供するように設定されます (デスクトップ レンダリング用の統合グラフィックスにフォールバックします)。デスクトップの場合、通常は 2 つの GPU が物理的に異なるモニター出力を駆動します。ディスクリート グラフィックス カードにモニターが接続されていますか。

于 2012-05-02T23:58:29.267 に答える