Straumstyring er eit kaos i Windows

Som vist i forrige artikkel fekk eg ikkje Handbrake til å utnytte krafta til prosessoren, sjølv om eg valde «Max ytelse» i Windows 11 si straumstyring. Windows fordelte alt arbeid frå Handbrake til prosessorkjernene med låg effekt. Dette er kjerner som skal ta lettare oppgåver slik ha kjernene med høg effekt kan ta seg av dei tunge løfta, som omkoding av video.

Ved å starte Handbrake med /affinity kunne eg styre Windows til å gi Handbrake kjernene med høg effekt. Dei 8 kjernene med låg effekt vart då ikkje nytta. Uansett korleis eg gjorde det kunne eg ikkje dra nytte av heile kapasiteten til prosessoren.

Hovudet mitt har putla med nøtta dei siste 18 timane. Eg kom på at det framleis er gamle deler under det pene skallet til Windows 11. Kontrollpanelet har over tid blitt strippa for mykje, men du finn framleis straumstyring der. Her var ho sett til Balansert, det einaste alternativet. Kanskje det var problemet, ei slags grunnkonfigurasjon som trumfar alt og held att prosessoren. Eit kjapt søk på nettet og eg fann korleis eg kan hente fram att straumstyringsplanar som ikkje var lista i Kontrollpanelet.

Eg henta fram profilen «High Performance», passa på at eg endra frå Balansert til Høy ytelse i Strømalternativer i Kontrollpanelet og restarta PCen. Det ser ut til å vere løysinga, no let Windows Handbrake nytte all kapasitet til prosessoren.

Handbrake og Intel P- og E-kjerner

I sommar valde eg å oppgradera PCen min. I over 2 år har eg vore nøgd med ein Lenovo med Ryzen 7 5800u. Det utslagsgivande for oppgraderinga var ein PC med støtte for den nye, frie standarden innanfor videokomprimering – AV1. I motsetning til støtta for H.265, slepp produsentane av maskin- og programvare å betale lisens for bruk av AV1. Over tid vil støtta for H.265 forsvinne.

Intel Arc-grafikkortet har AV1-koding integrert. Det går det unna ved konvertering av gamalt videomateriale. Ryzen 7 5800u har ikkje AV1-koding på maskinvarenivå i grafikkdelen. Her må prosessoren ta alt arbeidet og det høyres godt når viftene går på maks.

Av erfaring veit eg at Intel QuickSync fører til vesentleg større filer enn referansekoding i programvare av AV1. Med ein Intel i7-12700H i PCen ville eg teste kor effektiv programvarekoding av AV1 var kontra å bruke AV1-koding frå Intel Arc.

Ikkje overraskande vart AV1-filene frå Intel QuickSync større enn programvaremessig koding. Eg stussa på kvifor programvaremessig koding med Handbrake tok veldig lang tid. Når eg tok opp ressursoversikta i Windows, virka det ikkje som prosessoren løyste sveitten. Han låg på under 50% av kapasitet, sjølv om eg fora han frå SSD. Overføringsfarten var ikkje flaskehalsen. Eg gjorde den same testen på Ryzen 7 5800u. Her låg prosessoren tett opp under 100%. Noko stemte ikkje Intel-prosessoren. Under ser du svaret:

Legg merke til at det er berre dei 8 siste kjernene som maksar ut når eg nyttar Handbrake. Dei 8 siste er det ein kallar for E-kjerner eller efficency cores. I bilspråket er dette 4-sylindra dieselmotorar som berre sniffar på dieselen.

Dei 12 første slottane, som er lite brukt, viser 6 «power cores» med «hyper threading». Kvar fysiske kjerne kan prosessere 2 trådar (6*2=12) samtidig. Omsett til bilspråk er dette V8-16-motorar med kompressor eller turbo som skal stå for det tunge arbeidet. Minner om Jeremy Clarkson sitt kjente ordtak: «Power, Speed!!!». På ein eller anna måte tildeler ikkje Windows 11 noko arbeid frå Handbrake til dei kraftigaste kjernene.

Her var det berre å børste støv av gamal erfaring. Med hjelp av affinity kunne eg styre kva for kjerner som skulle få arbeidet frå Handbrake. Eg hadde god hjelp av denne kalkulatoren for å finne rett verdi:

C:\Windows\System32\cmd.exe /c start "" /affinity 0x0000000000000FFF "C:\Program Files\HandBrake\HandBrake.exe"

Med affinity sett til 3 F-ar, ber eg Windows om at Handbrake nyttar dei 6 første kraftkjernene, totalt 12 trådar. Det er ikkje ei optimal fordeling, men betre enn at Handbrake putrar avgårde på 8 kjerner med låg effekt.