- Tipps & Tricks
Rendering-Tasks auf Intel-Prozessoren der 12. Core-Generation werden beim Minimieren des Programms automatisch auf die langsameren E-Cores ausgelagert? Dieses Problem lässt sich unter Windows 11 schnell und einfach durch die Auswahl des Energieprofils „Beste Leistung“ beheben. Im Folgenden erklären wir die Hintergründe und präsentieren aktuelle Workarounds. Dieser Beitrag richtet sich an alle, die ihre Alder-Lake-CPU im Productivity-Bereich einsetzen – beim Gaming oder in einfachen Web- und Office-Anwendungen besteht hingegen kein Handlungsbedarf.
Intels Performance- und Efficiency-Cores
Als großes Novum bringt Intels 12. Core-Genration („Alder Lake“) als erste x86-CPU-Plattform eine Kombination von CPU-Kernen nach dem Big-Little-Prinzip mit. Windows 11 integriert aus diesem Grund bereits Intels neuen „Thread Director“, der eine intelligente Lastverteilung ermöglicht und festlegt, welche Tasks auf welchen Kernen laufen. Bei Rendering-Vorgängen wie etwa in Cinbenech oder Prime95 ist vorgesehen, dass das Betriebssystem hierfür sämtliche CPU-Kerne heranzieht und somit sowohl die Performance-Kerne (P-Cores) als auch die Efficency-Kerne (E-Cores) gleichzeitig auslastet.
Renderprozesse werden auf die E-Cores ausgelagert, wenn sie nicht im Vordergrund laufen?
Anwender aus dem Productivity-Bereich stellten bereits frühzeitig ein ungewöhnliches Phänomen fest. In Rendering-Vorgängen (d.h. keine synthetischen Benchmarks) werden die Berechnungen vom Betriebssystem auf die Efficiency-Kerne ausgelagert, sobald das Programmfenster minimiert wird oder nicht mehr im Vordergrund läuft. Einem offiziellen Video von Intel zufolge (der inhaltlich maßgebliche Teil beginnt ab 1:11 Minuten) entspricht das vermutlich sogar dem vom Hersteller vorgesehenen Use-Case.
Die Auslagerung der Renderprozesse auf die E-Cores geht allerdings mit großen Leistungseinschnitten einher, denn die deutlich schnelleren Performance-Kerne des Prozessors laufen ungenutzt im Leerlauf (Idle) weiter – die Berechnungen dauern somit deutlich länger als nötig. Um das volle Leistungspotenzial der CPU auszuschöpfen, sollten im Idealfall sämtliche CPU-Kerne voll ausgelastet werden.
Bestätigung des Phänomens von unabhängiger Stelle
In seinem englischsprachigen Artikel „Intel’s new Chimera: Alder Lake“ bestätigt der CPU-Microcode-Forscher Agner Fog das beschriebe Verhalten [eigene Übersetzung, englischer Originaltext siehe Link]:
„Das System gibt nur dem Thread eine hohe Priorität, auf den der Anwender sich fokussiert. Dies lässt das Verhalten einer Vielzahl von Anwendern außer Acht. Ein Anwender, der darauf wartet, dass der Computer mit einer rechenintensiven Aufgabe fertig wird, sitzt unterdessen nicht einfach herum und wartet. Es ist wahrscheinlicher, dass er/sie während der Wartezeit einer anderen Tätigkeit nachgeht, beispielsweise dem Abrufen von E-Mails.“
Agner Fog hat seine Untersuchung hauptsächlich anhand von Alder-Lake-basierten Desktop-Systemen und ohne Bezug zu XMG durchgeführt. Das Ergebnis bestätigt, dass der beschriebene Sachverhalt sich auf die gesamte Plattform aus CPU und Betriebssystem bezieht – und nicht nur vereinzelte PC- oder Laptop-OEMs betrifft.
Überprüfen, welcher CPU-Kern-Typ tatsächlich verwendet wird
Für Anwender mit Alder-Lake-CPUs gibt es eine ganz einfache Möglichkeit zu überprüfen, welche Kerne ihres Prozessors gerade ausgelastet sind. Dazu ist lediglich der Task-Manager in Windows so einzustellen, dass er den Leistungsgraphen für die „logische Prozessoren“ anzeigt:
Die E-Cores sind grundsätzlich diejenigen, die im unteren Bereich des Fensters angezeigt werden. Hier ein Beispiel-Screenshot vom Core i7-12700H im XMG NEO (E22), der zeigt, wie der Renderprozess lediglich die letzten 8 logischen Kernen auslastet:
Die ersten 12 logischen Kerne (6 Performance-Kerne, die via Hyperthreading als 12 logische Kerne arbeiten) befinden sich dabei überwiegend im Leerlauf. Der Task-Manager zeigt außerdem eine Auslastung von 60 % an. Diese Angabe ist jedoch insofern irreführend, als dass die Anzeige einfach alle Kerne gleichwertig behandelt und nicht berücksichtigt, dass das Leistungspotenzial der Performance-Kerne deutlich höher ausfällt als bei den Efficiency-Kernen. Auf die gesamte Rechenleistung der CPU bezogen liegt die tatsächliche Auslastung somit deutlich unterhalb der 50-Prozent-Marke. Um das weiter nachzuverfolgen, eignen sich zusätzliche Programme wie etwa HWINFO64, die die CPU Package Power überwachen. Weitere Infos dazu finden sich im Abschnitt „Welche Tuning- und System-Software empfiehlt XMG?“ in unserem FAQ-Bereich.
Derzeitige Workarounds
Für die zum Zeitpunkt des Erscheinens dieses Beitrags aktuelle Version von Windows 11 gibt es zwei Workarounds:
- Das Programm mit Administratorrechten ausführen
- Das Leistungsprofil in den Windows-Energieoptionen wie im folgenden Screenshot auf „Beste Leistung“ einstellen
Beide Lösungen sorgen dafür, dass Renderprozesse sowohl die P-Cores als auch die E-Cores gleichzeitig auslasten können.
Workaround #1 entspricht dabei eher der Brechstangenmethode – im Regelfall ist nicht dazu zu raten, Programme einfach so mit administrativen Rechten auszuführen. Workaround #2 ist somit die vermutlich smartere Wahl. Zwar kann sich die Auswahl des schnelleren Leistungsprofils geringfügig auf den Idle-Stromverbrauch auswirken, da einige der Prozesse, die normalerweise automatisch auf die E-Core ausgelagert werden, nun auf den P-Cores laufen. Im Vergleich zu andere typischen Stromverbrauchsproblemen wie beispielsweise einer dGPU, die nicht in den Sleep-Modus geht, ist der Effekt jedoch als marginal einzustufen. Ausführliche Erläuterungen dazu haben wir im FAQ-Beitrag „Probleme mit Akkulaufzeit, Idle-Stromverbrauch bzw. relativ hoher Lüfterlautstärke trotz geringer Last“ zusammengetragen.
Eine dritte Möglichkeit ist die vollständige Deaktivierung der Efficency-Cores. Das XMG NEO 15 (E22) bietet dafür eine eigene BIOS-Einstellung. Allerdings ist diese Lösung nur sehr eingeschränkt praxistauglich, da ihr ein guter Teil des Mehrkern-Leistungspotenzials der Alder-Lake-CPU zum Opfer fallen würde.
Unsere nachdrückliche Empfehlung geht somit an den zweiten Workaround – die Auswahl des Profils „Beste Leistung“ in den Windows-Energieoptionen.
Künftige Optimierungen in Windows 11
Zukünftige Versionen von Windows 11 werden sich des beschriebenen Phänomens vermutlich annehmen und dem Anwender weitere Anpassungsmöglichkeiten an die Hand geben. Die aktuelle Dokumentation zur kommenden „22H2“-Version von Windows (zweite Jahreshälfte 2022) erwähnt unter „Hilfsprogramm / Hintergrunddienste“ bereits einen verheißungsvollen Ansatz. Möglicherweise wird das Betriebssystem dadurch in die Lage versetzt, tatsächliche Hintergrundaufgaben wie etwa verschiedene Windows-eigene Wartungsprozesse von anwenderinitiierten Renderprozessen zu unterscheiden.
Die Situation unter Linux
Einhergehend mit der neuen Kernel-Version 5.18 schafft es Intels Thread Director nun auch, unter Linux Fuß zu fassen – und zwar unter der Bezeichnung „Intel Hardware Feedback Interface“ (HFI). Den Umfang dieses Updates zeigen ein bereits auf Februar datierter, englischsprachiger Artikel auf phoronix.com sowie der Kernel-Changelog. Die Dokumentation zum Hardware-Feedback Interface gibt es unter diesem Link, aber das HFI-Framework tangiert auch andere Bereiche wie etwa die Thermik und es ist uns noch nicht unmittelbar klar, wie Linux künftig die Unterscheidung zwischen wichtigen, anwenderinitiierten Renderprozessen und einfachen Systemhintergrundaufgaben trennen soll.
Euer Feedback
Ihr habt weitere Fragen zu dem Thema oder möchtet Eure eigenen Erfahrungen mit Multi-Core-Rendering auf Alder-Lake-CPUs mit uns und der Community teilen? Dann findet Ihr uns auf reddit oder Discord. Wie freuen uns auf euer Feedback!