こんにちは、風船(@fusen_niconico)です。
2年ほど前から、AppleのMacBook Pro Retina Mid 2014を自宅や出先での作業に利用しています。一応BootCampを使用してWindowsも入れてあるのですが、このBootCampでWindowsを立ち上げている時だけ異常にバッテリーを消費してしまう!
負荷がかかれば当然バッテリーの消費は早くなりますが、BootCamp使用時はより顕著です。
macOSでの場合は通常使用時はこのようなことは一切ありません。
それでは、何が原因なのでしょうか。それを探りつつ、解決策も見つけていこうと思いました。
ひとまずAppleの技術仕様ページを読んでみました。
- プロセッサ
- 2.5GHz
2.5GHzクアッドコアIntel Core i7プロセッサ(Turbo Boost使用時最大3.7GHz)、6MB共有L3キャッ シュ- グラフィックスとビデオ
- Intel Iris Pro Graphics
- NVIDIA GeForce GT 750M(2GB GDDR5メモリ搭載)、グラフィックス自動切替機能
プロセッサが2.5GHz Intel Core i7プロセッサ、技術仕様ページではこれだけしか記載されていませんが、モデルは4870HQです。
重要なのがTDP47WもあるクアッドコアCPUであることです。同様のノートPCや13インチMacBook Pro Retinaで見受けられるのはi7でもTDPが15Wや28Wのデュアルコアなので、ずば抜けてこのMacBook Proは消費電力が多いということ。
次に、グラフィックス。macOSで利用している場合はIntel Iris ProというCPUに内蔵されているGPUとNVIDIAのGT 750Mを使い分けてくれますが、BootCampでは常にNVIDIAのGPUを利用するようです。NVIDIAのGPUを搭載したWindows ノートPCでは、「NVIDIA Optimus テクノロジー」と呼ばれる、Intelの内蔵GPUとNVIDIAの独立GPUを使い分けるというものがあるのですが、MacBook Pro Retinaは搭載の仕組みが違うようでこの機能は利用できないようです。これがよりバッテリーの消費を誘発させているポイントかもしれません。
ということで個人的に原因だと思われる部分を挙げてみました。
- CPUがTDP47Wのクアッドコアだから。
- BootCamp使用時はNVIDIAの独立GPUが常に使われるから。
この二つをなんとかすればよいのではないか?と思ったので、実際に試してみました。
1 解決策
CPUの最大稼働率を下げる
CPUにおいては、クロック数が高いのはもちろん、さらにターボブーストでクロック数が上がるのも原因の一つと言えます。
ここでは、CPUの稼働率を下げてターボブーストをかからないようにすればよいのではないか?という期待を胸に設定を変更してみます。
コントロールパネルの電源オプションから自分が利用しているプランの[プラン設定の変更]をクリック。
その中の[詳細な電源設定の変更]をクリック。
[最大のプロセッサの状態]というものがありますので、この中のバッテリ駆動と電源に接続を”100%”から”99%”に変更します。
これだけでターボブーストでクロック数がさらに上昇するのが止まります。
ただし、これはパフォーマンスに影響しますので、本体の性能をフルに発揮させて作業をしたい時などは”100%”に戻すほうがよいでしょう。あくまで、軽い作業しかしないのにバッテリーの消費を抑えたいという場合のみ使用することをお勧めします。
余談ですが、「バッテリー駆動時はパフォーマンスを犠牲にしてもバッテリーの消費を抑えたい」という場合は、”99%”ではなく、”70%”程度にしてもよいかもしれません。ここは、実際に使用する用途に合わせて設定してみるとよいでしょう。
GPUの稼働率を抑える
CPUを抑えても、やはりGPUというバッテリー食いをどうにかしなければダメかもしれません。ここでは、オーバークロックツールを利用して、逆にダウンクロックして稼働率を抑えるという方法をとります。
今回、いろいろ試してみて一番良かったPalit製の「Thunder Master」というオーバークロックソフトを利用します。
上記のリンクからソフトウェアをダウンロードして、インストールします。
右にある大きな「OverClocker」ボタンをクリックします。もちろん、オーバークロックではなくダウンクロックをします。
[GPUクロック調整]と[メモリクロック調整]をいじります。
あまり下げすぎると、ウィンドウの描画がおかしくなったり、極端にパフォーマンスの低下を招きますので注意しつつ調整します。
できたら現在の設定を保存します。[SAVE]をクリックしてから保存したいスロットをクリック。これで終わりです。
2 結果
CPUの設定だけでも、十分にバッテリーの駆動時間を延ばすことができました。
今まではこれだけで満足していましたが、今回記事を書くのに併せてGPUの設定も見直してみました。
結果、多少ではありますがGPUの設定もバッテリー駆動時間に影響を与えられることがわかりました。
また、これらの設定を見直すことで、本体自体の発熱も抑えることが可能です。
BootCamp使用時は特に発熱がひどいので、同様の事例で悩んでいる方は、自己責任にはなりますが試してみてください。
はじめまして、突然コメント失礼いたします。
似た環境で困っていたところ、cpu最大稼働率の変更で改善して思わず書き込みます。
一旦70%にしてみたのですがまだ減るので現在試しに35にしてみています。。
windowsとしては映画一本みるのもままならない軽作業マシンでしたので普通に使えています。
一時間ゲームAFKしてみたのですが、macと同等とは行かずとも、3時間は持ちそうです。なにより15分も経つと熱くなっていたのが、1時間経っても部分的に温かい程度なことに感動です。
(裏を返すとやはりbootcampで高負荷な作業は難しいということなのでしょうかね…。)
windowsにしかないものもあるので動いてくれるだけでありがたく、%で応用の効くこの方法を知れたことは本当に幸運でした。
GPUのほうも調べつつ試してみようと思っています。
夏前にこの記事にたどり着けて切実にありがたいです。
記事を書いて今まで残してくださりありがとうございました。
(ちなみにwindowsで蓋を閉じてのスリープ中使っていなくてもバッテリーがかなり減っていることにも困っています。アプリ類は全て閉じバックグラウンドも切っています。もし他になにかヒントなどあればご教授いただけますと大変助かります。)
桜様
はじめまして、コメントありがとうございます。
まさか、かなり昔に書いたこの記事が今頃になってお役に立っていることに驚いております。
お役に立てて何よりです。
NVIDIA、AMDのディスクリートGPUを搭載しているMacでは、BootCamp時は強制的に消費電力が高いディスクリートGPUが強制使用されるので高負荷な作業には耐えられると思うのですが、バッテリー側が耐えられないというのが実情だと思います。
今現在では、記事で紹介しているGPUのオーバークロックツールを利用するよりも、現在も継続してアップデートされているMSIのAfterBurnerを使用するのが安全かと思います。
Windowsでクラムシェルでスリープ状態にしていてもバッテリーが減っている件については、WindowsとmacOSのスリープ時の挙動が異なる点がバッテリーの減少具合に影響しているのかもしれません。
既に、この記事を書いた当時のモデルのMacは手放してしまっており、検証できる環境がないのですが、おそらくCPUあたりのSleepレベルの違いになると思うので手の施しようがないかもしれないです。