公開
M1 Mac のゲーム導入ノウハウを解説する特別連載の第 6 回。今回はゲームの性能向上ではなく電力消費を抑えるための設定を考えてみたいと思います。主に MacBook Air/Pro でバッテリーの持続時間を伸ばすのを目的としますが,Mac mini の場合や MacBook で電源アダプターを用いる場合でも,システムの負荷を下げてより快適かつ能率的に M1 Mac を利用するのに役立ちます。また,基礎知識としてまずはバッテリー持続時間を見極める方法やゲームソフトの電力消費を測定する方法についても解説します。なお,実測結果は M1 MacBook Air(8 コア GPU,メモリー 16 GB)に基づくものですので,7 コア GPU 搭載機や MacBook Pro の場合は別途実測値を加味した上で記事内容を参考にしてください。
目次
|
M1 Mac の最大の優位性は電力消費が極めて少ない点で,MacBook のバッテリー持続時間は 18 時間とも 20 時間とも言われています。実際 M1 MacBook を購入された方も,それがカタログ上の方便でないことは実感していると思います。おそらく普通に利用している限りはバッテリー切れを経験したことすらないのではないでしょうか。
しかし,ゲームの場合はその辺の事情が大きく変わってきます。特にハイスペックな 3D ゲームは性能の限界に近い動作が要求されるものが多いため,M1 MacBook としては驚くほどバッテリーを消費します。
M1 チップは理論上は最大 30 W 程度の電力を消費するので,単純にバッテリー持続時間に換算しても 2 時間持たない計算になります。実際,CPU と GPU をフルに稼働させた状態では瞬間的に 20 W を超えることはあります。しかし,現実的には排熱能力による連続稼働能力の上限があり,MacBook Air の場合は 10 W 前後,MacBook Pro の場合は 15 W が連続稼働の上限となります。
そのような最大負荷状態のバッテリー持続時間は MacBook Air では 2.5〜3 時間,MacBook Pro では 2 時間強になります。最近のハイスペックなゲームを性能重視の設定でプレイした場合も,ほとんどのケースでは大体そのくらいでバッテリーが底を尽くことになります。これをグラフィックなどの設定によってどれだけ伸ばすことができるかが,今回の一番のテーマとなるわけです。
経験的に M1 MacBook は通常 10 時間程度かそれ以上バッテリーが持つのを考えれば,数時間でバッテリー切れを起こすというのは極端に短いように思えます。しかし,従来の Intel MacBook やラップトップ型のゲーミング PC でハイスペックなゲームをプレイしたりすると 1〜2 時間程度しか持ちませんので,これでも大幅に改善されていると考えられます。少なくとも,外出時のちょっとした空き時間にゲームを嗜んだとしても,直ちにバッテリー切れの危機に陥る心配はありません。
なお,MacBook Air のバッテリー持続時間に幅があるのは,冷却ファンのない自然放熱のため周辺温度や台として利用する机の材質などよって最大消費電力が大きく変わってくるためです。また,MacBook Pro のバッテリー容量は MacBook Air より 17 % ほど大きいですが,連続稼働能力が高いため最大負荷という条件では MacBook Pro の方がバッテリー持続時間が短くなります。同じ処理負荷で比較すれば MacBook Pro の方がバッテリーが持ちますので,いかに処理負荷を抑える設定にするかが重要になります。
一方,シンプルな 2D カジュアルゲームなど,処理負荷の低いロースペックゲームの場合は,画面輝度や Wi-Fi や Bluetooth などの条件が一致すれば,ゲームの種類や動作状況にかかわらず,カタログに記載された通り結果は 18 時間(MacBook Pro の場合は 20 時間)に限りなく近付きます。少しスペックが高めのゲームでも 10 時間以上は持ち,ゲーム自体の設定や動作状況によって大きく変わることはありません。M1 チップは処理負荷の低い状態では電力消費が極めて低くなる性質があり,電力消費のほとんどがディスプレイや Wi-Fi/Bluetooth などの周辺回路が占めることになるからです。
そのため,バッテリー持続時間は画面輝度や Wi-Fi/Bluetooth の動作状況に大きく依存します。本稿では公正を期すため,全ての動作テストは中間輝度で実施していますが,最大輝度の場合は概ね 3 割程度バッテリーの消費が早まるものと考えて下さい。輝度の自動調節を設定している場合は,外出時に屋外や商業施設などで周辺光が極めて明るくなり,一般家庭の室内よりもバッテリーの持ちが悪くなるので要注意です。
ただ,バッテリーのためとはいえゲームのプレイに支障を来たすほど輝度を下げたのでは本末転倒です。画面輝度をどうしても下げたいのであれば,コントラストやガンマなどの設定を下げて画面を見やすくする工夫が必要です。また,シャドウや HDR など画質関連の設定を下げれば,プロセッサーの電力消費が抑えられるだけでなく,画面の暗い部分が減ることで輝度を下げやすくなるため,結果的にバッテリー持続時間を伸ばすことに繋がります。
なお,外出先でもゲームの操作にマウスが手放せないという人は,Bluetooth もそれなりに電力が要るということを気に留めておいて下さい。では有線マウスなら良いかというとそんなことはなく,USB 給電によりなおさら電力消費が跳ね上がります。もし,外出先で有線マウスを使っていて妙にバッテリーの持ちが悪いと感じるなら,省電力型のマウスに変えてみるか,いっそのことトラックパッド派に宗旨替えした方が良いかも知れません。
ゲーム動作時のバッテリー持続時間を測る最も端的かつ最も正確な方法は,ストップウォッチを手に実際にバッテリーが空になるまでゲームを続けることですが,何時間もゲームを続けるのは現実的ではありません。バッテリーの残量から残り時間を推定する方法もありますが,残量の % 値は意外と不正確で特に 99 % から 100 % の間が長いように思われます。10 分間ゲームを続けても 100 % のままではあとどのくらい持つのか見当も付きません。
以前はメニューバーにバッテリー残り時間を表示するオプションがありましたが,よほど不正確で苦情が殺到したからなのか,いつの間にか廃止になってしまいました。しかし,OS の内部ではバッテリーの残り時間を推定するプログラムが現在も動いていて,アクティビティモニタでそれを確認することができます。
アクティビティモニタで「エネルギー」タブを選択すると充電残量に加えて「残り時間」という項目があり,これでバッテリーの持続時間を計算することができます。例えば残量 50 % で残り時間が 2 時間だったら,100 % 充電から 4 時間持つという計算になります。残量が 100 % のままなら,残り時間にバッテリー電源の使用時間を足し合わせれば正味の持続時間が出てきます。
この残り時間はバッテリーの電圧や電流の推移から計算した推定値のため,依然として不正確なことに変わりはありません。ただ幸いにも,ゲームソフトのように負荷変動が少ない場合は割と正確な結果を指し示す傾向があるので,ゲームのバッテリー持続時間を推定するにはこれで十分です。
バッテリー残り時間は直近の動作状況から推定するため,リアルタイムですぐに結果が出るわけではないのに注意が必要です。通常はバッテリー駆動を開始してから 2 分程度で暫定的な結果が出ますが,より正確な結果を出すには最低でも 10 分間は同じゲームを同じ設定値で動作させる必要があるでしょう。
バッテリー持続時間はアクティビティモニタの「エネルギー」タブで「充電残量」と「残り時間」から計算する。画面の例(充電残量:90 %,残り時間:3:12 = 3.2 時間)の場合,3.2 ÷ 0.9 = 3.56 なので残量 100 % からの持続時間は概ね 3 時間半となることが分かる。 |
充電残量が 100 % の場合は「残り時間」に「バッテリー電源の使用時間」を足し合わせて持続時間とする。画面の例(残り時間:5:22,使用時間:0:09)の場合,5:22 + 0:09 = 5:31 なので正味の持続時間は概ね 5 時間半となる。 |
アクティビティモニタは負荷変動の少ない状況では比較的正確な結果を示しますが,設定値を変えながら持続時間の変化を見たい場合や頻繁に動作状況が変化するような場合にはあまり適していません。そのような目的にはプロセッサーの消費電力をリアルタイムで観察する必要があります。
プロセッサーの消費電力を見るには,少し専門的な手段として powermetrics というターミナルコマンドがあります。具体的にはターミナルを開いて以下のコマンドを入力します。コマンドを起動するとパスワードを要求されるので,システムのログインパスワード(システム起動時にいつも入力しているパスワード)を入力して下さい。
sudo powermetrics -s cpu_power↩️
しばらくすると何やら大量の情報が表示されますが,重要なのは一番下の「Package Power」の項目でこれが現時点での M1 チップ全体の消費電力を示します。ゲームが停止した状態ではゲーム動作による消費電力は分かりませんので,ゲームを起動する前に powermetrics を起動しておき,ゲームが終了してから過去の記録をスクロールして確認します。
ディスプレイが複数利用できる場合は,ゲームとは別のディスプレイでターミナルを開いて並行動作させれば,リアルタイムに消費電力を確認できて便利です。ただし,外部ディスプレイを接続するとシステム全体の消費電力に若干影響しますのでその点を考慮して結果を評価して下さい。
ちなみに「Package Power」の前段は M1 チップ各ユニットごとの消費電力で,「ANE Power」はニューラルエンジン,「DRAM Power」はメモリー,「Clusters Total Power」は CPU の高効率コア × 4(E-Cluster)と高性能コア × 4(P-Cluster)の合計値,「GPU Power」は GPU コアの合計値を示します。出力された情報の中には熱的なクロック調整(サーマルスロットリング)の動作状況を示す項目もありますので,詳しいことは後の機会に解説したいと思います。
また,UNIX の grep コマンドで「Package Power」の項目だけ抽出して連続出力することもできます。その場合は以下のコマンドを入力します。
sudo powermetrics -s cpu_power | grep 'Package Power'↩️
powermetrics コマンドの出力例。出力情報の意味が良く分からない場合は,一番下の「Package Power」の項目だけ見れば OK。 |
powermetrics の出力を grep コマンドで抽出した出力例。消費電力を時系列で見たいのならこちらの方が分かりやすいかも。 |
「Package Power」はあくまで M1 チップ単体の消費電力で,他の周辺回路の消費電力は一切考慮されていません。そのため,バッテリー持続時間は単純な割り算では求められません。ただ,画面輝度などの条件が合えば M1 チップの消費電力とバッテリー持続時間の関係には一定の傾向が見出せます。
例えば MacBook Air の場合は中間輝度で Wi-Fi/Bluetooth 共にオンという条件では,概ねの目安として以下の表の通りとなります。MacBook Pro の場合は持続時間を 2 割弱程度増やせば大体合うと思います。電力変動が大きい場合は平均値を計算した上で表に当てはめます。
Package Power | バッテリー持続時間 |
---|---|
9000 mW | 3 時間 |
7000 mW | 4 時間弱 |
5000 mW | 5 時間弱 |
4000 mW | 5.5 時間強 |
3000 mW | 7 時間 |
2000 mW | 9 時間 |
前置きが長くなりましたが,実際にどのようにゲームの設定を変えればバッテリー持続時間を伸ばすことができるか考えてみましょう。基本的には前回やったように処理負荷を極力抑えることを目標とします。
電力消費に最も影響するのはやはりフレームレート制限と画面解像度ということになります。まずは VSYNC などでフレームレートを 60 fps に制限できる設定オプションがあれば,無駄な描画処理を抑止するためバッテリー駆動の有無にかかわらず必ず適用すべきです。ゲームのプレイに支障がないのなら,30 fps まで落とすのがより効果的です。
画面解像度は 1440×900 くらいが適正ですが,1280×800 ないしはそれ以下に下げることができればさらに電力消費を抑えることが可能です。
それ以外の設定項目については,どれが電力消費に効いてくるのかはゲームの処理方式によって異なります。先に説明した方法でプロセッサーの消費電力を見ながら一つ一つ設定を変えてみて,電力消費に大きく効いてくる項目から優先して下げてみます。中にはゲームのプレイに影響するものもあるので,電力消費とのトレードオフでどの程度まで許容できるか試してみましょう。
一般には GPU 負荷が高く描画速度への影響の大きい設定項目は,電力消費への影響も大きい傾向があります。しかし,CPU の高性能コアも相当の電力を消費しますので,描画速度とあまり関係のない設定項目であっても電力消費に大きく効いてくる場合があります。特に Rosetta を介して動作する Intel Mac 用ゲームの場合,高性能コアの稼働率が高くなる傾向があるので,その負荷を抑えることを目標に設定を検討してみましょう。
Fortnite で性能重視の設定をした場合,GPU の使用率にはまだ若干の余裕がありフレームレートは 60 fps をほぼ維持できるが,消費電力については上限一杯となるためバッテリー持続時間は 3 時間を切る結果となる。 |
処理負荷に大きく影響する項目を全て最低限に落とし 3D 解像度を 90 %(実質 1152 × 720)に絞り込めば,GPU と CPU 高性能コアの負荷が大幅に下がりバッテリーは 4 時間半以上持つようになる。 |
さらに最大フレームレートを 30 fps に落とせばバッテリー持続時間は 6 時間半に達するが,人によってはプレイに影響する場合もあるのでバッテリー残量と相談しながら取捨選択されたい。 |
要求スペックの高い Shadow of the Tomb Raider の場合は設定を低めに絞り込んでも,バッテリー持続時間を伸ばすのは難しい。画面の例では画面解像度を 1280 × 800,VSYNC を半減モード(30 fps)に落としているが,性能的にはほぼ限界に近いためバッテリーも最短の 3 時間弱しか持たない。 |
一般的にはグラフィック設定を絞り込めばバッテリー持続時間は伸びますが,ゲームによっては思ったほどの効果が得られない場合があります。
例えば,要求スペックが高く M1 Mac では最低限の設定でようやくまともに動作するようなゲームの場合,バッテリー持続時間を伸ばす手段は自ずと限られます。ゲームのプレイに影響するような設定項目まで下げてしまったのでは,本来のゲームの価値を損ねてしまうことにもなりかねません。
また,大規模なシミュレーション系ゲームの場合は演算のための CPU 処理が電力消費の大半を占めるため,グラフィック関連の設定をいくら下げてもバッテリー持続時間がさほど伸びるわけではありません。現状ではシミュレーションゲームの大半が Rosetta を介して動作する Intel Mac 用アプリケーションであるため,CPU 負荷はとりわけ高くなる傾向にあります。
これら高負荷なゲームはバッテリーで動作するのに適していないものと割り切って,結局は適正な設定値でプレイするのが最善だと思います。
Cities: Skylines は CPU 負荷が特に高い大規模シミュレーションのため,常に上限値一杯の電力を消費する。結果としてバッテリー持続時間は,ほぼ最短の 3 時間弱となる。 |
設定項目を全て最低にすれば GPU 使用率は下がるものの,電力消費の大半が CPU 高性能コアで占められるため,バッテリー持続時間は全く伸びることはない。ゲームの特性上一時停止状態なら消費電力が大きく下がるので,次善の策として建設や捜索の際は一時停止を駆使し,ゲームを進める際には最高速で一気に進めるのが最も効率的。 |
逆に,要求スペックの低い低負荷なゲームの場合は,最高設定にしたとしても電力消費はたかが知れているので,無理に設定を下げてバッテリー持続時間を,例えば 6 時間だったのを 12 時間にできたとしても,実用上はあまり有り難みはないでしょう。特に負荷の低いゲームを利用する場合は,電力消費の大半はゲームの動作とは直接関係のないディスプレイや Wi-Fi などで占めることになりますので,設定を最低限まで絞ったとしてもバッテリー持続時間は思ったほど伸びるものではありません。
動きの早い 3D ゲームであっても,iOS から移植したものなどは元々モバイル環境で使用することを前提に,可能な限り低い消費電力で動作するように作られているため,M1 Mac では設定を上げてもバッテリーをさほど消費しません。そのような準低負荷なゲームの場合,単位電力あたりの満足度という観点で考えるなら,最高設定でプレイした方がバッテリーの消費に比してより多くの満足が得られるかと思います。
Asphalt 9 はハイペースな 3D レーシングゲームであるが,iOS からの移植のため消費電力は極力低く抑えるように作られている。M1 Mac で可能な最高設定でプレイしても 7 時間は持つので,一般的な利用形態でバッテリー切れを懸念するような状況にはならないだろう。 |
設定を最低にしてプレイすれば,バッテリー持続時間は 9 時間まで伸ばすことはできるが,外出先で同じゲームを 9 時間もプレイするという状況は考えにくく,品質低下との引き換えとして考えるとさほどメリットは感じられない。 |
省エネ設定まとめ
|
今後のサイト更新や Mac ゲーム情報のチェックは公式 Twitter をフォローして下さい。本稿や Mac ゲームに関するお問合わせやご意見もこちらでどうぞ(必ずしも全てのお問合せにお答えできるわけではありません)。