Chromeの最新版「Chroem 60」に更新した後、なぜかChromeを起動するだけでMacBook Pro 2011のdGPUが強制的に使われるようになっていることに気がつきました。
独立設定で動作するテスト版のChrome Canaryでも同様の現象が発生したため、個人設定によるものではなく、Chromeの変更による現象のようです。
MacBook Pro 2011はご存じの通りAMDのdGPUに爆弾を抱えいて、できれば積極的に使いたくはないところです。今回はdGPUを使わずChrome 60を使用する方法を紹介します。
--force_discrete_gpu=0を指定
今回の発見した方法は、Chromeのバグレポートフォーラム「Chrome forces High Performance Graphics engine on Macbook Pro 2010」で紹介されていた「--force_discrete_gpu=0」というコマンドラインオプションを使うというものです。
ターミナルを開き以下のように実行します。
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --force_discrete_gpu=0
実際に試してみたところ、gfxCardStatus.iの表示が「i(Integrated GPU)」のままになっていて、dGPUが使われていないことが分かります。
さらに便利に
ターミナルではなくDockからコマンドラインを指定してChromeを起動したいという場合、How do I pass command line arguments to Dock items?で紹介されていた方法が使えます。
いくつか方法が紹介されていますが、一番簡単なのはAutomatorを使う方法です。
手順は以下の通りです。
- アプリケーションの新規作成から、シェルスクリプトを実行を選ぶ
- 「cat」となっているところを「open -a "Google Chrome.app" --args --force_discrete_gpu=0」で置き換える
- アプリケーションフォルダなどに適当な名前、例えばMyChrome等で保存
保存したMyChrome.appを実行すれば、コマンドラインオプション付きのChromeを実行できるようになります。Dockに登録したりAlfredから起動したりすることも可能です。
ついでにAutomatorアプリのアイコンを置き換える場合は、追加で以下を実行します。
- Google Chrome.appの情報を見るで、左上のアイコンをクリックしてCmd+Cを実行
- MyChrome.appの情報を見るで、左上のアイコンをクリックしてCmd+Vを実行
まとめ
dGPUが常に動いてしまうと、dGPUが壊れる可能性が増加する以外に(普通のMacBook Proならば問題ないでしょうが…)、電力消費量が増加するという問題も発生します。
dGPU付きのMacBookを使っている方は、一度確認してみると安心かもしれません。
2017/08/09(水)更新: 上記設定を使わなくてもdGPUの強制起動が起こらなくなりました。Chromeのバージョンは同じ「60.0.3112.90」で、理由は不明です。