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 デフォルト

Windows10のデフォルト値である異種ポリシー4、各スケジュールポリシーは自動
いまひとつPコアが活かされていないような印象だ

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

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

デフォルト設定に比べてPコアへの負荷が増えているもののEコア優勢

異種ポリシー0、CPU自動

異種ポリシー0、CPU自動

Windows11での規定値(電源プラン バランス・高パフォーマンス)※電源プラン省電力では異種ポリシー4
割とまんべんなく分散される印象で正解かもしれん

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

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

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

最適な設定はどれか

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

  1. 異種ポリシーを0にして各スケジュールポリシーは自動
    (Windows11 電源プランバランス時既定値)
  2. 異種ポリシーはデフォルト値の4のまま、その他を「高性能のプロセッサを優先」

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

ちなみに電源オプションからこれらの設定を変更すると即時反映され、PCが不安定になったりする事はなかった。

各設定を変更することで明らかに挙動が変わるものの、デフォルトの状態からして軽く快適なので体感ではわからんし、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

追記

11へのアップグレード時、異種ポリシーは更新されない

必要に迫られWindows11へとアップグレードしてから数ヶ月ほど経つが、ふと電源オプションを見たところWindows10での電源プランに設定していた異種ポリシーが引き継がれているということに先ほど気がついた。

敢えてWindows10の既定値である異種ポリシー4のまま使っていたのだが、Windows11アップグレード後もそのままだった。既定値復元されねえのかよ。

CPUを持て余してるとまあ気付かんね。

まあカスタムされた電源プランなのだから引き継いで当然と言えば当然なのだが、各電源プランの既定値は自動的に復元されるわけではないという点には留意する必要がある。

異種ポリシー関連を一切触らず他項目をカスタムした電源プランが、Windows10→11とアップデートした場合にどういう挙動となるのかはめんどくさすぎて未検証だが、隠し設定の既定値が更新されないのは不親切というか厄介に思う。

実はWindows10でbig.LITTLEを使っていてもイチミリも問題ない可能性、あると思います。

よく考えてみればbig.LITTLE構成のCore i5 16G7とCore i3 13G4(Lakefield)を搭載したWindows10ノートPCが発売されていたはずだ。実際に製品が出回ったのか知らんが。

この問題をマイクロソフトへFeedbackしました。
Windows Insider Programに参加されている方に賛成票を投じて頂けると問題解決が早まるかもしれません。
Feedback HUBを開きます

手っ取り早い修正方法

Windows11を実行しているPCの コントロール パネル\すべてのコントロール パネル項目\電源オプション\プラン設定の編集 で「このプランの既定の設定を復元」を実行するとWindows11の既定値が適用される。

検証した環境

OSの再インストールをせずに Sandy Bridge → Devil’s Canyon → Broadwell → Alder Lake とハードウェアのアップグレードを繰り返した環境で、Broadwellの時にWindows7からWindows10へアップグレード、Alder LakeになってしばらくしてからWindows11へアップグレード

後日新規インストールで追検証

  • Windows10(22H2)をbig.LITTLE構成マシンに新規インストールした結果、異種ポリシー既定値は何れの電源プランでも4だった。
  • Windows11を新規インストールの場合 電源プランバランス・高パフォーマンスで異種ポリシー0、省電力で4となっていた。
  • Windows10から11へアップグレードした場合 やはりWindows10既定値が引き継がれていた。

自作erの方がbig.LITTLE構成にWindows10を入れていて11へアップグレードしたケースってすごく多い(はず)なのに騒ぎにならない事から、いわゆるおま環の可能性もある。

コメント

  1. […] Windows10でAlder Lakeを効率よく動かす設定 おすすめ記事 Windows10でAlder Lakeを効率よく動かす設定 […]

  2. […] 手軽にE-coreだけを動かす方法はこちらを参考に、異種ポリシーを2、各スレッドポリシーを効率のよいプロセッサに設定するといけるはず。試してないけどWindows11でもできるんじゃないか […]

  3. より:

    13世代でも可能これらは可能ですか?

タイトルとURLをコピーしました