Procesory AMD mají ve Windows 11 až o 15 % zhoršený výkon, má to spravit aktualizace

7. 10. 2021

Sdílet

 Autor: Fritzchens Fritz, použito se souhlasem autora - public domain
Windows 11 mají dvě chyby uměle snižující výkon aplikací na procesorech AMD. U her může jít o zpomalení až o 15 %. Bugy, které to způsobují, jsou i ve finální verzi, ale ještě tento měsíc by prý mohla vyjít oprava.

Vypadá to, že ačkoliv má AMD mnoho procesorů na seznamu hardwaru oficiálně podporovaného systémem Windows 11, tento OS není na ně v době vydání tak docela připraven. Firma teď oznámila, že Windows 11 má s procesory výkonnostní problémy projevující se velkým zpomalením L3 cache a také další separátní potíže. Jde o chyby, které sice budou opravené, ale až v pozdějším updatu, takže nyní je výkon Ryzenů značně zhoršený.

Microsoft vydal Windows 11 o den dřív, než bylo v plánu (už 4. 10.), ovšem asi opět bude chvíli trvat, než se vychytají největší problémy poté, co se tímto systém dostal do širšího testování. Mezi problémy je ale jeden, který se zdá se týká všech současných procesorů Ryzen. Výrobce AMD teď oznámil, že ví o problému (snad na straně operačního systému, ne hardwaru), kvůli kterému je výkon těchto procesorů v novém OS, respektive v některých programech při běhu na tomto OS nižší, než by měl být. Přesněji, jde o problémy minimálně dva. Zdá se, že jsou známé už řadu měsíců, ale teprve čekají na opravu.

Problém 1: L3 cache třikrát zpomalená

Za prvé je ve Windows 11 z nějakého důvodu problém s L3 cache. AMD uvádí, že s Windows 11 má L3 cache procesoru AMD Ryzen z nějakého důvodu až třikrát horší latenci. Projevuje se to v benchmarcích měřících její latenci, ale i v reálných aplikacích, které by byly na L3 cache a výkonu paměťového subsystému závislé. Běžně je latence L3 Cache Ryzenů někde okolo 40 cyklů CPU (podle architektury) a AIDA64 ji naměří někde okolo 10 ns. Ve Windows 11 ale stejný software změří i přes 30 ns (přesné číslo závisí na frekvenci CPU).

Propustnost je zdá se tímto poškozena také. Podle AMD některé aplikace citlivé na latenci cache mohou zaznamenat zhoršený výkon, a to až o nějakých 3–5 % . Horší to může být ve hrách, které jsou na cache citlivější než většina aplikačního softwaru. Podle AMD v některých eSports hrách může být propad výkonu dokonce až o 10–15 %, byť takto špatné výsledky by prý měly být spíš vzácné než typické.

Zhoršení výkonu L3 cache ve Windows 11 na Ryzenu 5 3600 naměřené uživatelem Zhoršení výkonu L3 cache ve Windows 11 na Ryzenu 5 3600 naměřené uživatelem (Zdroj: Reddit)

Jak je možné, že operační systém změní výkonnostní charakteristiku jádra CPU, není moc jasné. Nikde zdá se nebyla publikována informace, jaký je důvod tohoto problému. Pokud bychom měli hádat, možná by mohlo jít o to, že Windows 11 někde třeba kvůli bezpečnosti (ochranně proti útokům typu Spectre, například) změnily nízkoúrovňovou práci s pamětí a použité metody jsou nějak v konfliktu s architekturou procesorů AMD, a to se projevuje zhoršením výkonu při paměťových operacích procházejících přes L3 cache. Pokud by šlo přímo o hardwarovou chybu v procesorech, nezdá se moc pravděpodobné, že by se na předchozích operačních systémech nikdy neprojevila.

AMD bohužel také neuvádí, které všechny procesory tyto problémy mají. Podle uživatelů se toto týká minimálně Ryzenů 5000 s architekturou Zen 3, a Ryzenů 3000 s jádry Zen 2. Hlášení s Ryzeny 1000 a 2000 moc není, ale nějaká přece, takže stejný problém dost pravděpodobně postihuje i všechno se Zenem 1.

Windows 11 způsobuje propad výkonu na procesorech AMD Ryzen Windows 11 způsobuje propad výkonu na procesorech AMD Ryzen (Zdroj: AMD)

Problém 2: Boost a preferovaná jádra

Vedle předchozí chyby mají Windows 11 s procesory AMD problém ještě jinde. Je znám další separátní bug, který spočívá v tom, že Windows 11 nepoužívají správně preferovaná jádra. Ryzeny 3000 a 5000 hlásí systému Windows, která jejich jádra jsou schopná dosahovat nejvyšších frekvencí. Účel je, aby Windows pak na právě tato jádra umisťovala jednovláknové úlohy nejvíce potřebující výkon. Při jejich přiřazení na preferované jádro bude frekvence vyšší a tím i jednovláknový výkon vyšší.

Procesor tuto informaci předává pomocí rozhraní CPPC2 ve firmwaru UEFI (viz článek o architektuře Zen 2). Jenže podle AMD to na Winodws 11 z nějakého důvodu nefunguje a systém zřejmě preferovaná jádra nepoužívá. To znamená, že frekvence v jednovláknových a málovláknových úlohách (včetně benchmarků…) bude i o pár set MHz nižší. Takže výkon vyjde o několik procent horší, než co by dodaly Windows 10 s fungujícím CPPC2. Podle AMD asi největší dopad může být u procesorů s 8, 12 a 16 vlákny a u 65W verzí. To asi proto, že vyšší modely z preferovaných jader těží více než nižší modely s nižšími takty ST boostu.

Prezentace architektury Zen 2 a CPU AMD Ryzen 3000 003 CPPC2 je od Windows 10 používáno pro rychlejší přepínání frekvencí a také pro volbu preferovaných jader pro jednovláknové aplikace (Zdroj: AMD)

Opraveno má být tento měsíc

Dobrá zpráva pro uživatele (a AMD) ale je, že oba tyto fenomény jsou chyba, která by měla být opravena. AMD uvádí, že ve spolupráci s Microsoftem by měly vyjít záplaty, které tyto problémy budou řešit. Pravda, použitá formulace neslibuje úplně doslova, že se výkon vrátí úplně na 100 %, ale nejspíš by měl.

Oprava prvního problému, tedy pomalu se chovající L3 cache, bude mít formu aktualizace Windows, opraví ji tedy zřejmě sám Microsoft ve svém kódu. Oprava „je v přípravě“, ale údajně je její vydání plánováno/očekáváno ještě tento měsíc (říjen/október).

Opravu druhého problému už možná nezajistí Microsoft, ale přímo AMD v rámci ovladačů (asi ovladačů čipsetu). Naznačovalo by tomu to, že v tiskovce se u prvního problému píše, že na něj přijde „Windows Update“, kdežto u této druhé chyby to bude „Software Update“. Zprovoznění CPPC2 ve Windows 11 tedy asi bude provedeno změnou ovladačů a firmwarových rozhraní, která zprostředkovávají mezi OS a procesorem či čipsetem. I tato aktualizace ale je očekávána ještě do konce října/októbra.

Nebude to tedy snad nakonec žádná katastrofa a po vyřešení bude vše fungovat jak má. Nicméně pamatujte na to, že pokud teď někde budou testované procesory již na operačním systému Windows 11, výkon procesorů AMD Ryzen bude těmito chybami ve výsledcích podhodnocen proti jejich skutečným schopnostem. Je to trošku blbé, protože hned na začátku listopadu vyjdou procesory Intel Alder Lake, které zase přímo potřebují Windows 11 k ideálnímu výkonu a budou podhodnocené na Windows 10. Snad tedy opravy vyjdou dost brzo na to, aby se první recenze Alder Lake daly udělat správně a spravedlivě, a ne třeba až 31. 10. Možná bude zábavné sledovat, jestli marketing Intelu odolá pokušení použít pro oficiální výkonnostní srovnání proti konkurenci neopravenou starší verzi Windows 11...

bitcoin_skoleni

Je tedy zajímavé, že vydání záplat bude ještě měsíc trvat a Microsoftu nestálo za to, dodělat je čas, aby byly už v první verzi vydaného OS (pravda, oprava druhé chyby je možná na AMD, ne na MS). Přitom by takováto chyba, znamenající skokovou regresi výkonu proti Windows 10, měla být rychle odhalena při profilování výkonu, které by při vývoji bylo rozumné provádět víceméně pořád. Nějaká hlášení o problémech ve výkonu cache se na internetu objevovala už v červnu, když vyšla první insiderovská sestavení W11.

Zdroj: AMD