外部ディスプレイ接続後にWindowServerが上がる?項目ごとに切り分け
WindowServerは、ディスプレイに表示する画面を合成するプロセスです。外付けディスプレイを接続したり、解像度やリフレッシュレートを上げたりすると、アクティビティモニタでWindowServerの負荷が高くなることがあります。この記事では、外付けディスプレイ接続時の対処法を紹介します。
操作スペースや透明度を含む全般的な解説は、MacでWindowServerのCPU使用率が高い場合の対処法を参照してください。WindowServerの強制終了は避けましょう。再起動で作業が中断されるだけで、画面を合成する負荷は減りません。
条件を揃えたディスプレイ比較で再現する
- 内蔵ディスプレイのみで、ウィンドウを少数開いた状態にする。操作せずに待ち、WindowServerのCPUとメモリ使用量を記録する。
- 外付けディスプレイを1台、ネイティブ解像度とデフォルトのリフレッシュレートで接続する。
- 操作せずに2分間待ち、WindowServerの使用量を再び記録する。
- スケーリング(「スペースを拡大」など)、リフレッシュレート、HDR、2台目のディスプレイ接続を、1つずつ変更する。
- 次の項目を試す前に、直前の設定を元に戻す。
特定の設定でだけ負荷が跳ね上がるなら、そのディスプレイ設定を重点的に確認しましょう。
チェックリスト:基準負荷を引き上げる外付けディスプレイの要因
| 項目 | WindowServerの負荷が増える理由 | 試すこと |
|---|---|---|
| ピクセル数の増加(4K/5K、複数モニタ) | フレームごとのフレームバッファ転送量が増える | ディスプレイ1台で試す。一時的に解像度を下げる |
| ネイティブ以外のスケーリングモード | 大きな画像を描画してから縮小する処理が必要 | 選べる場合はディスプレイのネイティブHiDPI設定を優先する |
| 高リフレッシュレート(120Hz以上) | 表示内容が変わる際に合成するフレーム数が増える | 同じ内容を表示し、60Hzとディスプレイの最大値を比較する |
| HDR / 広色域の色処理 | フレームごとの色処理が増える | テスト中はHDRをオフにする |
| 外付け接続時のクラムシェルモード(蓋を閉じた状態) | 内蔵画面がスリープしても外付け側の画面合成は続く | 電源に接続し、蓋を開いた状態と閉じた状態を比較する |
| 「ディスプレイごとに個別の操作スペース」 | 管理するデスクトップ領域が増える | 「デスクトップとDock」でこの設定をオフにして試す |
| ミラーリングと拡張表示 | 配置によって負荷が異なり、ミラーリングが常に軽いとは限らない | 両方を測定し、必要な配置を使う |
接続中のディスプレイは「システム設定」›「ディスプレイ」で確認できます。配置や解像度の設定方法は、macOSのバージョンによって多少異なります。
ディスプレイの負荷とアプリの再描画負荷を切り分ける
外付けディスプレイには、大きなIDEウィンドウや動画編集のタイムライン、ブラウザを表示することが多いもの。ディスプレイ自体と表示内容のどちらが負荷を増やしているか、切り分けます。
- 同じウィンドウを内蔵ディスプレイに移し、外付けディスプレイを取り外す。
- WindowServerの負荷が下がるなら、外付けディスプレイや、そのスケーリング・リフレッシュレートが影響している可能性が高い。
- 高いままなら、アプリが絶えず再描画している可能性がある。アクティビティモニタの「エネルギー」タブとApp Napの状態を確認し、心当たりのあるアプリを1つずつ終了する。
- 比較中は画面共有、録画、オーバーレイ表示ツールを無効にする。合成済みフレームを扱う処理が負荷を増やすことがある。
| 状況のパターン | ディスプレイ側の要因 | アプリ側の要因 |
|---|---|---|
| 操作せず、空のFinderウィンドウ1つだけを開き、外付けディスプレイを接続 | 内蔵のみの基準値よりWindowServerの負荷が高いまま | 可能性は低い |
| 内蔵のみのアイドル時は低いが、4K外付けでタイムラインを再生すると高い | 双方に要因あり。スケーリング負荷、リフレッシュレート、プレビュー品質を下げる | タイムラインのプレビューが主な負荷の可能性あり |
| 特定のアプリが最前面にあるときだけ急上昇する | 副次的な要因 | そのアプリのウィンドウ |
安全で効果の出やすい対策
- 過度な「スペースを拡大」スケーリングより、ネイティブ解像度を優先する。
- 原因を調べている間は、リフレッシュレートを下げる。
- 古いMacやファンレスのMacで重い制作作業をする際は、外付けディスプレイの台数を減らす。
- 使っていないディスプレイは、黒いデスクトップをフル解像度で表示したままにせず、接続を外すか電源を切る。
- テスト中は、大画面に表示するデスクトップの半透明要素を減らす。
- ノート型Macを電源アダプタにつなぎ、複数画面でテストする際は、バッテリーやエネルギーの設定をデフォルトに保つ。
特定のドックやHDMIアダプタを使うときだけ異常発熱するなら、GPUの故障を疑う前に、直接接続や別のケーブルで再テストしてください。
やってはいけないこと
- WindowServerを強制終了しない。
/SystemからWindowServer関連のファイルを削除しない。- 画面合成の負荷を下げるために「メモリ解放」をしない。描画するピクセル数は減らない。
- スケーリングの変更で負荷の原因が説明できるなら、NVRAMリセットから始めない。
外付けディスプレイの接続で発熱も増えるなら、構成をシンプルにして、アイドル時と高負荷時の温度を比較しましょう。詳しくはMacの温度:アイドル時と高負荷時の目安を参照してください。WindowServerの使用率と温度を一緒に確認すると、変化を比べやすくなります。
よくある質問
4Kディスプレイ接続時にWindowServerが高負荷になるのは常に異常ですか?
異常とは限りません。ピクセル数が増えれば処理も増えます。ただし、動作がカクつく、アイドル時もファンがうるさい、内蔵ディスプレイのみの場合よりバッテリー駆動時間が大幅に短い、といった場合は原因を調べましょう。
MacBookの蓋を閉じれば(クラムシェルモード)WindowServerの負荷は下がりますか?
内蔵ディスプレイの描画負荷はなくなりますが、使用中の外付けディスプレイの合成処理は続きます。蓋を開いた状態と閉じた状態で、使用率を比べてください。
ディスプレイ設定を適用するためにWindowServerを強制終了すべきですか?
いいえ。「システム設定」›「ディスプレイ」で変更してください。設定が反映されない場合は、ログアウトするかMacを再起動します。WindowServerの強制終了は作業を中断させ、プロセスを再起動することになります。
クリーナーアプリでマルチモニタ環境のWindowServerの負荷を下げられますか?
キャッシュ削除では下がりません。負荷を左右するのはディスプレイ設定とアプリの再描画です。クリーナーツールでは、WindowServerが合成するピクセル数は減らせません。