Windows10でAlder Lakeを効率よく動かす設定

Intelの12世代CPU、Alder Lakeのbig.LITTLE(異種混合コア)は、CPUに搭載されるITD(Intel Thread Director)の相性だか何だかの関係でWindows10ではなくWindows11を使えと言われているが、11のUIはいまいち受け入れがたく当分の間はWindows10でやり過ごしたいっつうことで調べたことのメモ

隠し設定

Windows10にも隠し設定としてだがbig.LITTLE(異種混合コア)に対応する電源設定が存在している。

この設定を表示するには管理者権限のコマンドプロンプトまたはPowerShellで以下のコマンドを実行する。

異種ポリシーの表示 (HETEROPOLICY)

powercfg -attributes SUB_PROCESSOR 7f2f5cfa-f10c-4823-b5e1-e93ae85f46b5 -ATTRIB_HIDE

異種スレッドスケジュールポリシー (SCHEDPOLICY)

powercfg -attributes SUB_PROCESSOR 93b8b6dc-0698-4d1c-9ee4-0644e900c85d -ATTRIB_HIDE

短時間実行スレッド用の(ry (SHORTSCHEDPOLICY)

powercfg -attributes SUB_PROCESSOR bae08b81-2d5e-4688-ad6a-13243356654b -ATTRIB_HIDE

非表示に戻すには-ATTRIB_HIDEを+ATTRIB_HIDEに替えて実行すれば良い。

Windows10でのデフォルト値
異種ポリシー「異種ポリシー4を使用」
異種スレッドスケジュールポリシー「自動」
短時間実行スレッド用の異種スレッドスケジュールポリシー「自動」

異種ポリシー (HETEROPOLICY)

Intelの資料には異種ポリシー (HETEROPOLICY)の設定について次のように説明があった。

異種ポリシー0 (HETEROPOLICY 0)
In this configuration, the optimum set of compute cores are unparked starting with the most performant cores first.

異種ポリシー4 (HETEROPOLICY 4)
In this configuration, based off utilization, a combination of most performant or most efficient cores are unparked first.

超端折ると、パフォーマンス重視かコスパ重視かという事だろう。

異種ポリシー0ではほぼCore Parking(リソースモニターなどで保留って出るヤツ)にはならないのに対して、異種ポリシー4では使われていないコアはCore Parkingとなっていた。

異種ポリシー1から3の挙動についての記載はないが、試した限りでは2ではEコアが積極的に使われるようになるようで、異種ポリシー0でのPコアがそのままEコアに入れ替わったような挙動。その他は違いがよくわからん。

実際の挙動の違い

普段使い時の負荷を再現するツールをよく知らないので、ChromeとfirefoxとEDGEでクソ重い広告だらけの怪しいwebサイトのタブを開きまくった状態で各設定を変更してみた。

広告のお姉さんが現れたり引っ込んだりするので、負荷は一定ではない点に留意

Windows10 デフォルト

Windows10のデフォルト値である異種ポリシー4、各スケジュールポリシーは自動

異種ポリシーデフォルト、高性能のプロセッサを優先

Pコアへの負荷がやや増えている

異種ポリシー0、CPU自動

割とまんべんなく分散される印象

異種ポリシー0、高性能のプロセッサを優先

Eコアの負荷がほとんどない

最適な設定はどれか

使用目的によって最適解は異なるだろうけど、自分が試行錯誤した範囲では、

  1. 異種ポリシーはデフォルト値の4のまま、その他を「高性能のプロセッサを優先」
    バランスが良い感じがした
  2. 異種ポリシーを0にして各スケジュールポリシーは自動
    負荷が分散されて気持ちが良いが、ごく軽負荷時にはEコアを持て余しがちな所が少しだけ気になる

この2つが現実的な設定だろうと思う。省電力なら1、パフォーマンスなら2っていう具合に。

各設定を変更することで明らかに挙動が変わるものの、デフォルトの状態からして軽く快適なので体感では違いがよくわからんし、Pコアがよく使われる設定にするとEコアを持て余すジレンマがあった。

というか、デフォルトのままでも別に困らんのではないかという気もする。ゲームなどでは違いが出るのかもしれない。

参考

https://www.intel.co.jp/content/www/jp/ja/support/articles/000088749/processors/intel-core-processors.html
https://www.intel.com/content/dam/develop/external/us/en/documents-tps/348851-optimizing-x86-hybrid-cpus.pdf
https://docs.microsoft.com/ja-jp/windows-hardware/customize/power-settings/configuration-for-hetero-power-scheduling-schedulingpolicy
https://docs.microsoft.com/ja-jp/windows-hardware/customize/power-settings/configuration-for-hetero-power-scheduling-shortschedulingpolicy

One thought to “Windows10でAlder Lakeを効率よく動かす設定”

コメントを残す

メールアドレスが公開されることはありません。