アップルの公式ページ「Mac で外付けのグラフィックプロセッサを使う」に丁寧に説明をしてくれています。
その説明の中で、下記の2つの注意点に注目してみました。
・「外部 GPU を優先」オプションを使う
・eGPUに接続した外付けのディスプレイをメインのディスプレイとして設定する
アプリケーションによっては何もしなくても、完全にeGPUを選択して制御できるものも存在しています(例えばGeekBench等)。我々が日常的に使用しているソフトはどうでしょう?
Adobe Illustrator 2019(23.0.4)は(GPUパフォーマンス使用)するとかなり高負荷でGPUを使用します。GPUはあまり関係なさそうなソフトですが、外付けのeGPUを現在フル(アクティビティーモニタのGPUグラフ)で使い切ってくれる数少ないソフトのひとつです。
まずはアプリケーションで「外部 GPU を優先」にチェックを入れるか入れないかの実験です。
「外部 GPU を優先」オプションを使う方法は
- App が開いている場合は閉じます。
- Finder で App を選択します。多くの App は「アプリケーション」フォルダにあります。App を普段エイリアスやランチャーから開いている場合は、その App のアイコンを「control」キーを押しながらクリックして、ポップアップメニューから「オリジナルを表示」を選択します。そして、オリジナルの App を選択します。
- 「command + I」を押して App の情報ウインドウを開きます。
- 「外部 GPU を優先」の横にあるチェックボックスを選択します。
- eGPU で使う App を開きます。
・APPの「外部のGPUを優先」にチェックをいれていない条件だと
MacBookの内蔵ディスプレイでの拡大縮小(GPUパフォーマンス使用)は内蔵GPU(私の場合Vega20)が使用される。
外付けのディスプレイ(eGPU・外部GPU経由)はeGPU・外部GPUが使用される。
・APPの「外部のGPUを優先」にチェックをいれている条件だと
MacBookの内蔵ディスプレイでの拡大縮小(GPUパフォーマンス使用)はeGPU・外部GPUが使用される。
外付けのディスプレイ(eGPU・外部GPU経由)はeGPU・外部GPUが使用される。
Thunderbolt3で直接外部モニタをMacBookProから接続した場合。
・APPの「外部のGPUを優先」にチェックをいれていない条件だと
MacBookの内蔵ディスプレイでの拡大縮小(GPUパフォーマンス使用)は内蔵GPU(私の場合Vega20)が使用される。
外付けのディスプレイ(Thunderbolt3経由HDMI)は内蔵GPU(私の場合Vega20)が使用される。
・APPの「外部のGPUを優先」にチェックをいれている条件だと(※1)
MacBookの内蔵ディスプレイでの拡大縮小(GPUパフォーマンス使用)はeGPU・外部GPUと内蔵GPU(私の場合Vega20)が共に使用される。
外付けのディスプレイ(Thunderbolt3経由HDMI)はeGPU・外部GPUと内蔵GPU(私の場合Vega20)が共に使用される。
(※1)GPU使用が混在して使われている状況に関しては2つのGPUを効率よく使用しているのかどうかは不明。
イラストレータの場合は「eGPUに接続した外付けのディスプレイをメインのディスプレイとして設定する」という条件によって変化はありませんでした。
下の写真は画面を切り替えた時のアクティビティーモニタによるGPU使用率の変化です。
Adobe After Effects CC 2019(16.1.2)は「eGPUに接続した外付けのディスプレイをメインのディスプレイとして設定する」という条件も優先されるようで、「外部のGPUを優先」にチェックを入れている条件でもメインのディスプレイをMacBookProの内蔵ディスプレイを使用すると、内蔵GPU(私の場合Vega20)が使用され始めることもありました。「外部のGPUを優先」にし、外部モニタをメインモニタに設定した場合はeGPU(外部GPU)が使用されました。レンダリング時間の差異もわかりにくく、条件が明確にわかりにくいこともあるので報告だけにしておきます。
eGPUは使用するアプリケーションがまだ完全に対応をできてない状況というのが現状でしょうか。