Meer fps zonder HyperThreading? Intel Core i9 9900K in games mét en zonder HT

86 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Zo werkt SMT/HyperThreading
  3. 3. De test: 9 games gebenchmarkt
  4. 4. Benchmarks: Battlefield V (DX12)
  5. 5. Benchmarks: F1 2018 (DX11)
  6. 6. Benchmarks: Far Cry 5 (DX11)
  7. 7. Benchmarks: Forza Horizon 4 (DX12)
  8. 8. Benchmarks: Ghost Recon: Wildlands (DX11)
  9. 9. Benchmarks: GTA V (DX11)
  10. 10. Benchmarks: The Witcher 3: Blood & Wine (DX11)
  11. 11. Benchmarks: Total War: Warhammer 2 (DX12)
  12. 12. Benchmarks: Wolfenstein II (Vulkan)
  13. 13. Conclusie
  14. 14. Besproken producten
  15. 15. Reacties

Inleiding

Intels HyperThreading is een doorgaans effectieve manier om de prestaties in multi-threaded taken te verbeteren. De afgelopen jaren vechten AMD en Intel echter een wedstrijd om de meeste cores uit. Nu een 'mainstream'-processor als de Intel Core i9 9900K al 8 cores heeft, meer dan vrijwel elke game nuttig kan gebruiken, heeft HyperThreading dan nog wel zin? Dat is precies wat wij uitzochten.


Een Intel Core i9 9900K heeft 8 cores, maar dankzij HyperThreading 16 threads.

Het is nuttig om te weten dat HyperThreading Intels marketingnaam is voor de simultaneous multi-threading techniek, die in de vorige eeuw al werd ontwikkeld en bij het grote publiek bekend werd toen de Pentium 4 ermee werd uitgerust. Moderne AMD-processors passen exact dezelfde techniek toe onder de simpele afkorting SMT.

De bedoeling van SMT is om de diverse rekeneenheden binnen een core een groter gedeelte van de tijd actief te laten zijn. Immers, als er voor een bepaalde berekening data uit de cache of zelfs het geheugen nodig is en er zonder die gegevens niet door kan worden gerekend, ligt de uitvoering daarvan even stil. HyperThreading en vergelijkbare technieken zorgen ervoor dat er een tweede thread op dezelfde core aanwezig is om dergelijke gaten 'op te vullen', zodat de execution units binnen een core zo veel als mogelijk benut worden.

Op de volgende pagina duiken we nog wat dieper in de techniek achter HyperThreading, om vervolgens uit te zoeken wat het in- en uitschakelen nou echt voor effect heeft in games met een moderne, veelkoppige processor.

Zo werkt SMT/HyperThreading

HyperThreading kwam in 2002 voor het eerst voor consumenten beschikbaar in de Pentium 4 3,06 GHz, die weliswaar slechts over één fysieke core beschikte, maar in totaal twee threads richting het besturingssysteem presenteerde. Alle moderne besturingssystemen zijn SMT aware: ze 'weten' welke threads fysiek en virtueel zijn, en zullen prioriteit geven aan de 'echte' cores. Destijds betekende HyperThreading een doorbraak, aangezien programma's tot dan toe om en om aanspraak moesten maken op dezelfde core. Voor multi-tasking was de toevoeging van een virtuele core een belangrijke stap richting echte dual-core processors, die pas in april 2005 op de markt kwamen.

Om te begrijpen hoe SMT precies werkt, is het voorbeeld van toen met een single-core processor verhelderend: sindsdien is hetzelfde concept eigenlijk alleen maar uitgebreid maar meer cores. Zoals gezegd kon een processor toen met maar één proces tegelijk bezig zijn, en werden er om de beurt berekeningen van de lopende processen gepland door de scheduler. Het kan echter zijn dat er door een cache miss of andersoortige afhankelijkheid even gewacht moet worden: op zo'n moment kan een core met HyperThreading altijd nog doorgaan met de berekeningen van de tweede, virtuele thread. Tegelijkertijd is het zo dat één proces vrijwel nooit alle individuele eenheden binnen een core (zoals integer- en floatingpoint-units) volledig belast. Er is dus sowieso vaak plek om binnen dezelfde kloktik extra instructies te plannen.


Slide met een grafische weergave van SMT van The George Washington University.

Hardwarematig hoeft eigenlijk alleen de front-end van een core geschikt te zijn gemaakt voor SMT. Die moet twee stromen van instructies tegelijkertijd kunnen decoderen en de uitvoering ervan zo efficiënt mogelijk inplannen. De rest van de core blijft ongewijzigd: een hyperthreaded core heeft geen extra execution units, pipelines of cache, ze worden alleen beter benut om gemiddeld meer instructies per klokslag te verwerken.

De test: 9 games gebenchmarkt

Deze test komt niet geheel uit de lucht vallen: we zijn in het Hardware.Info-testlab namelijk druk bezig met het samenstellen van nieuwe gpu-testsystemen en een bijbehorende vernieuwde testmethode voor videokaarten. Dit artikel is daar zodoende al een klein voorproefje van. Zoals altijd proberen we ons testsysteem in zo min mogelijk gevallen een bottleneck te laten vormen voor de (toekomstige) videokaarten die we gaan testen. Nu zijn aardig wat cores en vooral hoge kloksnelheden altijd prettig voor games, maar heeft het met grote aantallen cores van tegenwoordig nog zin om HyperThreading in te schakelen? Of heeft dat zelfs eerder een negatieve impact? Aangezien ons officieuze credo meten = weten luidt, namen we de proef op de som.

Testconfiguratie

Het systeem dat we daarvoor gebruikten, bestaat uit de volgende componenten:

Gigabyte Z390 Aorus Master

Op de volgende pagina's vind je steeds de framerates van vier configuraties: AMD's snelste videokaart (de Radeon RX Vega 64) en Nvidia's snelste videokaart (de GeForce RTX 2080 Ti), telkens met hyperthreading in- en uitgeschakeld op onze Intel Core i9 9900K. Door met de snelste modellen van beide fabrikanten te testen, zouden we enige verschillen (als die er zijn) zo goed mogelijk moeten kunnen meten. Waar mogelijk hebben we ook frametimes (99p) opgenomen.

Benchmarks: Battlefield V (DX12)

We trappen af met de nieuwe Battlefield, die we draaien in DirectX 12-modus. We zien maar zeer beperkte verschillen tussen HyperThreading aan en uit, zowel bij AMD als Nvidia. Op zwaardere settings lijkt de RTX 2080 Ti iets sneller te worden met HT aan, terwijl de RX Vega 64 juist een klein beetje profijt lijkt te hebben van het uitschakelen van HT.

Frametimes (99p) RTX 2080 Ti - HT uit RTX 2080 Ti - HT aan RX Vega 64 - HT uit RX Vega 64 - HT aan
1080p - medium 7,9 ms 8,2 ms 9,3 ms 9,3 ms
1080p - ultra 8,8 ms 8,8 ms 11,5 ms 11 ms
1440p - medium 8,5 ms 8,6 ms 10,6 ms 11,9 ms
1440p - ultra 11,6 ms 10,7 ms 14,2 ms 13,8 ms
4K - medium 14,3 ms 13,4 ms 17,2 ms 18,2 ms
4K - ultra 18,5 ms 16,8 ms 22,2 ms 22,5 ms

Benchmarks: F1 2018 (DX11)

In F1 2018 laat de AMD-kaart in vrijwel alle scenario's identieke scores noteren. Alleen op full hd met medium settings is de set-up zonder HyperThreading nipt sneller. Bij Nvidia zien we dat beeld over de hele linie, met plusjes rond de 5 fps. Ook de frametimes zijn met HyperThreading uitgeschakeld net wat strakker.

Frametimes (99p) RTX 2080 Ti - HT uit RTX 2080 Ti - HT aan RX Vega 64 - HT uit RX Vega 64 - HT aan
1080p - medium 4,1 ms 4,2 ms 5 ms 5 ms
1080p - ultra 6,6 ms 6,8 ms 8,5 ms 8,6 ms
1440p - medium 4,5 ms 4,7 ms 6,7 ms 6,7 ms
1440p - ultra 7,4 ms 7,8 ms 11,2 ms 11,2 ms
4K - medium 6,7 ms 6,9 ms 11,7 ms 11,8 ms
4K - ultra 11,1 ms 11,5 ms 19,3 ms 19,4 ms

Benchmarks: Far Cry 5 (DX11)

Far Cry 5 is voor Nvidia een grote uitschieter: het deactiveren van HyperThreading levert tot wel 15 fps extra op. Zelfs op 4K ultra komt er dan nog 8 fps bij. AMD's Vega-kaart laat veel kleinere verschillen zien, al is HT uit in alle zes de tests ook bij die videokaart goed voor de beste scores.

Benchmarks: Forza Horizon 4 (DX12)

De nieuwste Forza-racegame van Microsoft is volledig geschreven voor DirectX 12. De game lijkt niet veel te geven over of we HT uit of aan zetten: hier en daar zien we plusjes van 1 à 2 fps, maar gezien ze beide kanten op gaan zal dat eerder binnen de marge van de test vallen.

Benchmarks: Ghost Recon: Wildlands (DX11)

Ghost Recon: Wildlands is al een wat ouder spel, maar blijft op hoge settings een echte videokaartenvreter. Op de lagere instellingen en resoluties profiteert de RTX 2080 Ti een klein beetje van het uitschakelen van HyperThreading, tot maximaal 6 fps op 1080p medium. Bij de AMD-kaart is het effect subtieler, maar ook bij de Vega meten we steeds kleine verbeteringen als we HyperThreading uitzetten.

Benchmarks: GTA V (DX11)

In Grand Theft Auto V zijn de verschillen klein, al is de Nvidia-kaart vaak nipt sneller zonder HyperThreading. Bij de Vega lijkt dat verschil niet of nauwelijks te bestaan; soms is de score met HT zelfs wat hoger.

GTA V (DX11) RTX 2080 Ti - HT uit RTX 2080 Ti - HT aan RX Vega 64 - HT uit RX Vega 64 - HT aan
1080p - medium 10 ms 10 ms 11 ms 11 ms
1080p - ultra 12 ms 13 ms 15 ms 15 ms
1440p - medium 9 ms 10 ms 11 ms 11 ms
1440p - ultra 14 ms 15 ms 20 ms 20 ms
4K - medium 10 ms 11 ms 20 ms 20 ms
4K - ultra 21 ms 21 ms 36 ms 36 ms

Benchmarks: The Witcher 3: Blood & Wine (DX11)

Zowel bij AMD als Nvidia zien we in The Witcher 3: Blood & Wine geen noemenswaardige verschillen tussen HT aan of uit. De frametimes zijn zonder HT echter net wat beter.

Frametimes (99p) RTX 2080 Ti - HT uit RTX 2080 Ti - HT aan RX Vega 64 - HT uit RX Vega 64 - HT aan
1080p - medium 5,1 ms 5,5 ms 7,2 ms 7,9 ms
1080p - ultra 8,3 ms 8,3 ms 11,5 ms 12 ms
1440p - medium 6,3 ms 6,6 ms 9,7 ms 10 ms
1440p - ultra 10 ms 9,9 ms 15,3 ms 16 ms
4K - medium 10,6 ms 10,6 ms 18,6 ms 18,8 ms
4K - ultra 15,1 ms 15 ms 27 ms 27 ms

Benchmarks: Total War: Warhammer 2 (DX12)

In Total War: Warhammer 2 weet de processor zonder HyperThreading in letterlijk alle twaalf scenario's een paar frames per seconde meer af t leveren. Groter dan een fps of 3 is het verschil echter nergens.

Benchmarks: Wolfenstein II (Vulkan)

Ten slotte Wolfenstein II, het enige spel uit onze testsuite dat gebruikmaakt van de Vulkan-engine. Op hogere resoluties en settings zijn de verschillen absoluut verwaarloosbaar, maar bij de laagste settings lijkt de Nvidia-kaart het een klein beetje beter te doen zonder HT.

Frametimes (99p) RTX 2080 Ti - HT uit RTX 2080 Ti - HT aan RX Vega 64 - HT uit RX Vega 64 - HT aan
1080p - medium 3,9 ms 4,2 ms 5,6 ms 5,7 ms
1080p - ultra 4,5 ms 4,7 ms 7,2 ms 7,2 ms
1440p - medium 4,9 ms 5 ms 8 ms 8,1 ms
1440p - ultra 6 ms 6,1 ms 10 ms 10,1 ms
4K - medium 8,4 ms 8,5 ms 14,9 ms 14,9 ms
4K - ultra 10,2 ms 10,3 ms 17,5 ms 17,8 ms

Conclusie

Na op de kop af 216 tests hebben we een goed beeld van wat HyperThreading anno 2019 doet met je gameprestaties. Gooien we alle benchmarkresultaten op één hoop, dan is de conclusie enigszins verrassend: het aan laten staan van HyperThreading kóst je gemiddeld prestaties.

Framerates

Zowel de GeForce RTX 2080 Ti van Nvidia als de Radeon RX Vega 64 van AMD gaan er nipt op vooruit als je SMT uitschakelt. Bij de Nvidia-gpu zijn de verschillen net wat duidelijk dan bij AMD - enerzijds kan dat komen doordat de RTX 2080 Ti simpelweg een pak sneller is en zodoende eerder tegen bottlenecks van andere componenten aanloopt, anderzijds springt de AMD-driver wellicht wat efficiënter om met veel beschikbare threads.

Gem. framerate (9 games) RTX 2080 Ti - HT uit RTX 2080 Ti - HT aan RX Vega 64 - HT uit RX Vega 64 - HT aan
1080p - medium 220,1 fps 216 fps 160,8 fps 159,6 fps
1080p - ultra 154,2 fps 151,6 fps 107,5 fps 106,2 fps
1440p - medium 182,9 fps 179,6 fps 118,9 fps 117,8 fps
1440p - ultra 125,9 fps 123,6 fps 80,2 fps 79,1 fps
4K - medium 115,7 fps 113,5 fps 66,8 fps 66 fps
4K - ultra 78,9 fps 77,8 fps 46,2 fps 45,6 fps

Frametimes

In de frametimes zien we op de meest gangbare resoluties en settings hetzelfde beeld. Let er wel op dat dit gemiddelde slechts van vijf van de negen spellen is, aangezien we van de andere games geen frametime-data hebben. Alleen op 4K-resolutie gaat de RTX 2080 Ti mét HT nipt de configuratie met uitgeschakelde HT voorbij, maar dat kunnen we vrijwel volledig verklaren door de kleine boost die we dan in zien in Battlefield V.

Gem. frametime (5 games) RTX 2080 Ti - HT uit RTX 2080 Ti - HT aan RX Vega 64 - HT uit RX Vega 64 - HT aan
1080p - medium 6,2 ms 6,4 ms 7,6 ms 7,8 ms
1080p - ultra 8 ms 8,3 ms 10,7 ms 10,8 ms
1440p - medium 6,6 ms 7 ms 9,2 ms 9,5 ms
1440p - ultra 9,8 ms 9,9 ms 14,1 ms 14,2 ms
4K - medium 10 ms 10,1 ms 16,5 ms 16,7 ms
4K - ultra 15,2 ms 14,9 ms 24,4 ms 24,5 ms

Uit met die HyperThreading?

Moet je nu abrupt HyperThreading uitschakelen op je game-pc en zodoende de helft van je threads verliezen? Nee, dat ligt toch echt genuanceerder. Zo hebben we deze test uitgevoerd met de 8-core 9900K, die ook zonder HyperThreading al relatief veel threads heeft. Bij een quadcore met HT is het misschien juist een voordeel. Verder zullen veel gamers tijdens het spelen ook andere software hebben draaien: een voicechatprogramma, mailclient, browser, virusscanner, et cetera. Dat betekent nog niet meteen dat je dan wél meer fps krijgt met HT, maar dat dergelijke zijprocessen dan op de virtuele threads kunnen draaien, is op z'n minst een theoretisch voordeel.

Tegelijkertijd stroken de resultaten van vandaag met wat we vorig jaar al concludeerden in ons artikel 'Hoeveel CPU-cores heb je nodig voor games?'. Voor games heb je nog altijd liever snelle dan veel cores, terwijl een cpu met voldoende (bijvoorbeeld zes) fysieke cores zonder HT de voorkeur verdient boven bijvoorbeeld een quadcore mét HT, ook al zie je in dat laatste geval meer grafiekjes in Taakbeheer.

Nu is de keuze voor ons gpu-testsysteem een geval apart: we draaien nooit andere programma's tegelijkertijd met het testen van een videokaart, en willen we qua componentkeuze vooral de prestaties van huidige en toekomstige videokaarten zo min mogelijk in de weg zitten. Vanuit dat oogpunt, met puur het behalen van de beste fps en strakste frametimes als doel, lijkt het uitschakelen van HyperThreading niet eens zo'n gek idee.


Zo beeld Intel HyperThreading zelf uit: twee banen per core-snelweg.


Besproken product

Vergelijk  

Product

Prijs

Intel Core i9 9900K Boxed

Intel Core i9 9900K Boxed

  • Socket 1151
  • 3.6 GHz
  • 8 cores
  • 95 W
  • 14 nm
  • Geïntegreerde GPU

518,57 €

10 winkels
0
*