NVIDIA GPU搭載ノートPCでKINECT V2のパフォーマンスが極端に悪くなったときの対処法
初めて技術ブログ的な事を書きます。慣れないですねw
高性能ノートPCでKINECT V2が牛歩のようなパフォーマンスに(涙)
さて、NVIDIA GPU を搭載したノートPCでKINECT V2のパフォーマンスが極端に落ちる現象がありました。
ぼくが使っているPCはマウスコンピュータ製 GeForce® GTX™ 970M / インテル® HD グラフィックス 530 搭載のG-Tuneです。
そこそこ強力なゲーミングPCなのでバッテリーの持続性よりはパフォーマンスを重視したいのでWindowsの電源オプションを「高パフォーマンス」として圧倒的なスピードを出してゆきたいですよね。
ところがです、どんだけスムーズだろうと期待してKINECT V2を利用するアプリケーションを立ち上げると、、「おおおおお、遅い」
フレームレートが全く上がりません。
奇妙なことに電源オプションを「省電力」とするとフレームレートは回復します。
しかしCPUスピードが絞られるのでアプリケーションは結局スムーズに動きません。
この現象には、ノートPCの省電力化のためにテクノロジー「Optimus」が関わっているのではないかと思います。
Optimusは高パフォーマンスなNVIDIA GPUと低消費電力のCPUインテグレートのIntel GPUを自動で切り替えることでバッテリー持続時間を延ばしてくれるようですが、ここぞというときにIntelのGPUが使われてしまってPCが本領を発揮してくれないことも多々あります。
このGPU切り替えはNVIDIAコントロールパネルから行うことができます。
ただ、この設定だけではKINECT V2のパフォーマンスは上がりませんでした。
その原因は、KINECT V2アプリケーションは、根底のサービスプロセス「KinectService」と協調して動作しているからだと思います。
このKinectServiceをNVIDIA GPUで動作させない限りパフォーマンスは上がりません。
BIOS設定でNVIDA GPUの利用を強制する
PCを強制的にNVIDIA GPUで動作させるオプションがBIOSにありました。
[Advanced] - [Advanced Chipset Control] - [MSHYBRID or DISCRETE Switch]
この設定を [DISCRETE] とします。
以上でPCはOS起動時から強制的にNVIDIA GPUで動作するようになり、サービスプログラムである「KinectService」もハイパフォーマンスで動作するようになりました。
なお、GPU Switchというプログラムでも切り替えができるようです。
ただぼくの場合は切り替え後の挙動が不安定だったのでBIOS設定がおススメです。
なお、少し古いPCの場合はBIOSに設定がないものもあるようです。
おまけ:BIOS設定画面ってどうやって出すの?
Windows8以降BIOS画面を出すの大変ですよね?
もっのすごい高速にF1とか押す、、わけじゃなくてこうやります。
結構知らない人もいるかもと思い載せます。
OSはWindows 10 Pro build 1607 です。
[設定] - [更新とセキュリティ]
[回復] - [PCの起動をカスタマイズする] - [今すぐ再起動する]
[詳細オプション]
ここで[再起動]するとBIOS設定画面に自動的に入ります。