こんなことをやっている人はめずらしいと思うんですが,海外でははまっている人もいたので書いておきます.
私が使っているのは Alienware 13 というノートパソコンです.オンボードに intel HD Graphics 5500 という GPU を載せつつ,より強力な Nvidia GeForce GTX 860M という GPU も搭載しているという変った機械です.
普段の仕事には性能は普通だけれども消費エネな intel HD Graphics 5500 を使い,ここぞというときには GeForce に切り替えることができます.
で,「ここぞ」を決めているのが件の Nvidiaコントロールパネル というユーティリティなのです.ここでの設定で,ざっくりと普段は HD Graphics 5500 を使うけれども,リストに掲げたソフトウェアだけは Nvidia GeForce GTX 860M を使うというような設定ができるようになっています.有名なゲームについては,自動的にサポートされていて,ゲームをインストールすると自動的に GeForce GTX 860M が設定されるようになっているようです.
で,自分で開発しているソフトについても,これを使って簡単に使用する GPU を選択できます.彼の機嫌がよければ.
問題は,ここ二ヶ月ほど彼の機嫌が悪くて,なかなか言うことを聞いてくれなかったのです.指定したソフトについて「GeForce GTX 860M を使ってね」と頼んでも,あっという間に忘れるとか,そもそも覚える気がないとか.
さんざ,検索してようやく,ひとまず解決したようなので,その知見を披露します.
まず,コントロールパネルの実行権限について確認します.c:/Program Files/NVIDIA Corporation/Control Panel Client/nvcplui.exe
のプロパティを開き,互換性タブの設定枠のなかの「管理者としてこのプログラムを実行する」を選択して下さい.
これで直ればいいのですが,だめな場合には,BIOS をアップグレードしてから、Nvidia のドライバをインストールしなおします.インストールするときにカスタムインストールして,クリーンインストールを選択して下さい.クリーンインストールは,過去に施した設定を削除して,フレッシュな状態でインストールしなおすものです.
実は,しばらく前にNvidia のドライバを更新したときに,クリーンインストールしなかったのですが,もしかするとそれ以来,具合が悪くなっていたのかもしれません.クリーンインストール後は快調で思ったように設定を施すことができるようになりました.
実は職場の Alienware 13 が気持ちよく動き始めたあとで、同型の姉妹機の設定に取りかかって、再び苦しみました。当初はNvidiaのドライバのクリーンインストールだけで大丈夫だと思っていたのですが、それだけではすみませんでした。BIOSを更新して、さらに改めてNvidiaのドライバをクリーンインストールしたらうまく修正できました。
週末来,悩まされてきたことが解決してとっても気分がいいです.おまけに,シェーダーのコードの振舞いがおかしかったのですが,HD Graphics と GeForce GTX で振舞いが異なることがわかりました.よくわからないけれど HD Graphics のバグということにして,こちらも気分がよいことにします.