Hyper-Threading! Van értelme a játékokban?

Vizsgáljuk meg, van-e értelme a Hyper-Threading használatának egy játékra használt számítógép esetén?

Bevezetés

Bátorkodom egy új írással jelentkezni, mivel az előző - véleményem szerint - viszonylag nagy érdeklődésre tartott számot. Jelenleg több mint 37000 megtekintést és 200 fölötti blogbejegyzést mutat a statisztika.

Most egy újabb vitaindító témát boncolgatok, és ahogy ezelőtt, ebben az esetben sem tudom jelen sorok írásakor, hogy mi lesz a teszt eredménye. Az előző cikk szellemisége nyomán valami hülyeséget akarok művelni, ezért a következőkre keresem a választ:

Nézzük meg, hogy a tesztelésre használt, 2013-ban gyártott munkaállomás egy “rendes” (most már sajnos csak erős középkategóriás) videokártyával megtámogatva hogyan teljesít a játékok alatt.

Már sok véleményt és ellenérvet olvastam a Hyper-Threading használata vagy mellőzése kapcsán, ezért meg fogom vizsgálni, hogy a HT egy sokmagos processzor esetén előny vagy hátrány az általam kipróbált játékokban.

Gyakorló gépészmérnökként a problémát továbbra is egy átlagos felhasználó szemszögéből közelítem meg, a józan paraszti ész által vezérelve. Fenntartom továbbá magamnak azt a lehetőséget, hogy a saját cikkemben hülyeséget, illetve helytelen állításokat fogalmazzak meg. Fontos még tudni, hogy a tesztrendszert jelenleg elsődleges számítógépnek használom, tehát minden itt megfogalmazott állítást valós körülmények között ki is próbáltam. És az aggodalmaskodóknak garantálom, hogy a kísérletezések során egyetlen állatnak vagy hardvernek sem esett bántódása.

Tesztkörnyezet és módszer

Mint említettem, a tesztek során ugyanarra a számítógépre fogom feltelepíteni az összes játékot. A használt Windows verzió és a driverek minden mérés esetében megegyeznek. Az előzőekkel ellentétben, most a legfrissebb Windows 10 Home verziót (1903) használom. Az Nvidia driver verziója 436.30.

Tesztkörnyezet:
– HP Z420 workstation
– Intel Xeon E5-1650v2 3.5 GHz
– 16 GB DDR3 RAM
– 256 GB SSD
– 3 TB HDD (2 db 1,5 TB laptop HDD RAID 0-ban)
– Gigabyte GTX1080 G1 Gaming 8 GB
– Windows 10 Home 1903

A játékok esetén az átlag, a maximum, a minimum, illetve az 1% minimum FPS-t fogom feltüntetni. A teszteket mindenhol magas beállítások mellett futtatom 1920 x 1080 pixeles felbontás mellett. Ahol annak beállítására lehetőség van, ott mindig a legfrissebb DirectX verziót választom ki. Vulcan-os játékot ez esetben nem telepítettem.

A rendszer az SSD-n lesz, a játékok Raid 0 tömbről futnak. Ahol elérhető, ott a beépített benchmarkot használom, ahol ez nem lehetséges, ott egy előre begyakorolt útvonalon megyek majd végig. Minden mérést háromszor ismételek meg, a grafikonokon a mérések átlaga szerepel. Az FPS értékeket MSI Afterburner segítségével rögzítem.

Szintetikus tesztek nem lesznek, mivel azok nagy valószínűséggel a Hyper-Threading előnyét mutatnák.

Terveztem, hogy megmérem a rendszer fogyasztását, ugyanazt a statikus jelenetet nézve a két beállítással. Természetesen, ez nem egy korrekt szám lenne és a mérést végül nem is fogom megcsinálni. Nagyon sok olyan véleményt olvasok, hogy egyes alkatrészeket a magas fogyasztás miatt szidnak az emberek. Én úgy gondolom, hogy mivel szórakozásról van szó, több százezer forintos eszközt és akár 25000 Ft-os játékot használva nem lehet szempont az éves pár ezer forintos különbség a villanyszámlán.

Fontos még megjegyezni, hogy a Win 10-en futtattam a Debloat scripteket is, továbbá kikapcsoltam a virtuális memóriát. Ezek valós hatásáról (ha van nekik egyáltalán) most nem szól a teszt. (Igény esetén lehet ebből is összehasonlító cikk, már csak azért is, mert az eredményre jómagam is kíváncsi vagyok.)

A tesztben résztvevő játékok:
– Deus Ex: Mankind Divided
– Kingdom Come: Deliverance
– Metro Exodus
– Gears of War 5
– Hellblade: Senua's Sacrifice
– F1 2018
– Dishonored 2
– Shadow of the Tomb Raider
– Prey
– Dying light

Mi is az a Hyper-Threading?

Na de mi is az a Hyper-Threading és miért jó ez egy játékra használt számítógép esetén? Ok, elsőre ez körülbelül olyan, mint a piros led a ventilátorban: kívülről tényleg jól mutat, de a számítógép használata közben nem is nézünk rá, semmit nem ad a játékélményhez. Persze a havernak tuti leesik az álla, ha mutatjuk az eszközkezelőben, hogy nekünk bezzeg 12 magos a processzorunk.

Honnan indult az egész? 2002 körül jártunk és akkor még mindig ritka volt az otthoni internet, a játékokat írott CD-n szereztem be. Emlékszem, hogy a papír PC-Guru magazinban olvasgattam tágra nyílt szemmel Oldman tuninggal és hardverekkel kapcsolatos cikkeit. Brazil után mindig ez volt az első amit fellapoztam. Bár utólag már sok rosszat és jót is olvastam a szerzőről, akkor ez volt az egyetlen információforrásom, ezért ezeket a cikkeket rongyosra olvastam.

Szóval az öreg írt valami új P4 processzorról ami akkor számomra elképzelhetetlen két!! maggal rendelkezett (még ha virtuálisan is). Ráadásul hatalmas (akár 50%) plusz teljesítményt ígért csupán 5-8 °C melegedés árán. Azonnal akartam egyet, így már lapoztam is az újság végére az árlistához. Persze még nem volt kapható, és a sima P4 árait figyelembe véve még évekig kellett várnom egy HT-s példány birtoklására. A processzor akkoriban HT nélkül is úgy 50000 Ft volt. (Viszonyításképpen, az akkori nettó átlagkereset körülbelül 90000 Ft körül alakult.) Utólag visszanézve tök érdekes, hogy már akkor is 3 GHz körüli processzorok léteztek, és a teljesítmény növelését akkor még főként az órajel növelésével képzelték el. Az órajel azóta sem kúszott igazán magasabbra annak ellenére, hogy az elérhető teljesítmény azért bőven megnőtt.

A történelmi kitérő után vissza az eredeti célhoz: nagyon egyszerűen szólva a Hyper-Threading lehetővé teszi a processzornak, hogy az utasításokat fizikai magonként két szálon dolgozza fel. Mindez majdnem ingyen, hardver oldaláról csak minimális tranzisztorszám emelkedéssel megvalósítható (a fizikai két maghoz viszonyítva). Tulajdonképpen annyi történik, hogy amíg a processzormag az egyik szálon valami miatt várakozni kényszerül (például a memóriára), addig a másik szálon ugyanaz a mag végezhet adatfeldolgozást, így csökkenni fog az üresjáratok ideje és emiatt növekedni a feldolgozás sebessége. A hatékony működéshez az operációs rendszer oldaláról a Hyper-Threading támogatása, a futtatott program oldaláról pedig a többszálúsított működés szükséges. Ennek hiányában - szélsőséges esetben - a sebesség növekedése helyett inkább lassulás figyelhető majd meg.

Elméletileg mind a korszerű operációs rendszerek mind a mai játékok fel vannak készítve a Hyper-Threading használatára. Ennek ellenére rengeteg olyan információ, videó található az interneten, amik alapján gyorsabbak a játékok HT nélkül. Nos akkor, járjunk utána, hogy mi az igazság!

Játéktesztek \ 1. rész

Deus Ex: Mankind Divided

Csak a teszt kedvéért raktam fel újra, mivel emlékszem, hogy az előző cikkem alatt mikrolagokkal reagált a változásokra. Arra számítottam, hogy itt is segít kihozni a különbségeket.

Az eredmények láttán azt mondom, ez egy érdekes kezdés. A maximum FPS képes volt 14%-ot javulni úgy, hogy a HT kikapcsolásán kívül semmit sem változtattam. Az eredményeket nézve nem értem, hogy az 1% minimum miért magasabb, mint a minimum FPS. Ezért többször újramértem, de minden esetben ugyanaz lett az eredmény. Ilyen furcsaságot a többi játéknál nem tapasztaltam.

Kingdom Come: Deliverance

Az előző cikkel ellentétben most ez a cím is a raid tömbre került. Ennek látható is volt az eredménye, mivel a játék folyamatosan töltött. Ami érdekes, hogy laggal ennek ellenére nem találkoztam, a megjelenítés folyamatos volt, de cserébe néhol nem töltődtek be időben a nagy felbontású textúrák. A jelenség mind 6 mind 12 szál esetén megfigyelhető volt.

Az eredmények alapján itt jobb teljesítményt nyújt a játék, ha bekapcsolva hagyjuk a Hyper-Threadinget. A verseny tehát eddig döntetlen.

Metro Exodus

A játék miatt fizettem elő a Game Pass-ra. Akkor még csak 300 Ft volt az első hónap, és a Metro, mint húzócím, az előfizetés irányába sodort. Igazából három hónap után sem bántam meg, hogy előfizettem, még annak ellenére sem, hogy a frissítésig botrányosan rosszul optimalizált volt a Metro Windows Store-ból elérhető verziója. A játék néha unalmas, de amikor már feladná az ember, akkor mindig jön egy érdekes rész, egy váratlan fordulat, ami miatt érdemes tovább haladni. Sajnos nekem a “szomorú” végeredmény lett meg, nem is értettem, miért.

A mérések alapján jobban tesszük, ha a játék előtt kikapcsoljuk a Hyper-Threadinget. Igaz nem jelentősen, de azért minden mért érték tudott javulni a kikapcsolás után. 2-1 a HT ellen.

Gears 5

Nagyon vártam a Gears új részét amit úgy hirdettek, hogy: “minden eddiginél mélyebb és tartalmasabb történet”. Hát a marketing itt sem működött. Azaz működött, mert meghosszabbítottam miatta a Game Pass előfizetésem. (jelenleg havi kb. 1500 Ft, sörre több megy el.) Hatalmas elvárásokkal álltam neki a játéknak, ami a végén teljesen felemás érzéseket hagyott bennem. Az optimalizáció és a látvány szerintem fantasztikusan rendben van, de a történet utalásai, a szereplők motivációi csak úgy érthetők teljesen, ha az ember az összes résszel játszott, ami csak PC-s játékosként nem megoldható. (Na jó, ha az illető elolvasott egy csomó kapcsolódó anyagot a játék mellé, és régen boxon azért végigtolta a második részt akkor nagyjából ok, de most maradjunk egy átlagos játékos szintjén.) A vége nekem kifejezetten csalódás volt. Az itt leírtak ellenére azért én jól szórakoztam játék közben.

A Gears 5 volt talán az a játék, ahol a minimum és a maximum értékek között a legkisebb volt a szakadék, ami nagyon jó optimalizációt sejtet. Ennek ellenére, itt is jobban jár a felhasználó, ha kikapcsolja azt a plusz 6 szálat. A minimum 1% értékei ezt egy számomra döbbenetes 19%-os emelkedéssel hálálták meg. Az állás 3-1.

Hellblade: Senua's Sacrifice

Emlékszem, Senua kalandja teljesen váratlanul robbant be a köztudatba, és tök jó értékeléseket kapott. Ennek ellenére én csak most próbáltam ki a játékot. Egy kicsit mást kaptam, mint amire vártam, a harcrendszer nagyon egyszerű, és több logikai feladványt kapunk, mint amit elképzeltem. Ennek ellenére nem tartom rossznak a játékot, de egyenlőre abbahagytam.

Az eredmények nagyon érdekesek. A maximális képkockaszám magasabb lett a HT kikapcsolása után de - és ez szerintem fontosabb ha folyamatos játékmenetet akarok látni - a minimumok nem változtak. Azt lehet mondani, hogy a Hyper-Threading támogatása nélkül a játék kiegyensúlyozatlanabbá vált, nőtt a szakadék a minimum és maximum FPS között. Érdekes ez a jelenség, sajnos annyira nem értem a HT lélektanát, hogy meg tudjam ezt magyarázni. A teszt számomra már ezen a ponton is nagyon érdekessé vált, nem gondoltam volna, hogy a Hyper-Threading ekkora különbséget képes jelenteni és ennyire vegyes eredménnyel. Az eddigi logika alapján itt a 6 mag kap pontot: 4-1.

F1 2018

Az F1-et már nagyon régóta a TV-ben sem követem, a játék is csak azért került be, mert új és mert van beépített benchmark. Megmondom őszintén, a teszteken kívül egy métert se mentem az autókkal. Persze a lustaságnak ára lett, mivel a benchmark egy teljes körön keresztül zajlik, így összességében tovább tartott a mérés, mintha én játszottam volna végig kézzel ugyanazt a rövidebb szakaszt.

Nagyon rég láttam F1 játékot és megdöbbentett, hogy a monitort egy méterről nézve a verseny már teljesen olyan mintha a közvetítést látnám. Ennek ellenére, a játék meglepően jól futott, és kicsit jobban szerette, ha a virtuális szálakat kikapcsoltam. A helyzet 5-1

Játéktesztek \ 2. rész

Dishonored 2

Emlékszem, az első részt, igaz, második próbálkozásra, de végigjátszottam. Sokat segített, hogy a játék magyar felirattal jelent meg, így - bár beszélek angolul - élvezetesebb volt a sok apró információmorzsát összeszedni. A második részt kipróbáltam a megjelenés után, de valahogy olyan jellegtelen lett nekem az egész. Most adtam neki egy újabb esélyt, de Dunwall utcáiról ezúttal sem jutottam már el a kikötőbe. És hiába a stabil FPS, a mozgást valahogy olyan darabosnak éreztem, akár egérrel, akár kontrollerrel játszottam

A számok alapján a játék valóban egy olyan érzéketlen tuskó, mint amilyennek elképzelem. A maximum képkockaszám 120-ra van rögzítve, a minimumok pedig kicsit jobbak, ha csak 6 mag dolgozik a háttérben. Az arány így továbbra sem változott: 6-1.

Shadow of the Tomb Raider

Mindhárom új generációs Tomb Raiderrel játszottam és azt kell mondjam, a hibái ellenére egy jól összerakott sorozatról van szó. Az epizódok között a fejlődés jól látható, mind a grafika, mind a játékmenet esetében. Nekem a három részből az utolsó tetszett a legjobban, még akkor is, ha vége eléggé elcsépelt lett.

A játék készítői láthatóan számoltak azzal, hogy a játékos Hyper-Threadinget támogató processzorral fog játszani. Emiatt az értékek mérhetően jobbak a virtuális szálak használata mellett. A javulás főleg az 1% minimum értékét nézve látható. Tehát a HT ott segít, ahol a legnagyobb szükség van rá. Az állás 6-2

Prey

A játék már az előző tesztben is szerepelt, és akkor egy rövid kör után nem voltam jó véleménnyel róla. Most a teszt kedvéért újrakezdtem, és a mérések után feltelepítettem egy grafikai modot is. Nem tudom emiatt vagy sem, de az újabb nekifutás az elsőnél jobban sikerült. A kezdeti botladozás után most már tetszik a játék, lehet a téli szünetben végig is viszem majd.

Az eredmények alapján a tesztrendszer elég erős ahhoz, hogy folyamatos játékmenetet biztosítson akár maximális részletesség mellett is. Ami dicséretes, hogy még a minimum 1% sem esik soha 60 FPS alá és ezen a 12 szál használata még képes javítani is picit. A játékmeneten nem látni, de a mérések alapján minden érték javul valamennyit. Így azt mondom: 6-3.

Dying light

Még valamikor az év közepén vásároltam meg, mert akciós volt a kiegészítővel egybepakolt verzió. A fő történeti szálat végig is játszottam és körülbelül félig a kiegészítőt is. A fő történet nagyon tetszett, a karakterek motivációi, a világ teljesen be tudott szippantani. Sajnos a kiegészítő már nem adott nekem annyival többet annak ellenére sem, hogy az autóval jó volt száguldozni a végtelen mezőkön.

A játék elég jól teljesít, a grafikonon itt sem látni 60-nál kisebb számot. A HT kikapcsolása nem érzékelhető, de a grafikon szerint a játék több FPS-t tud kipumpálni magából, ha a virtuális szálakat nem engedélyezzük. A meccs végeredménye 7-3.

Értékelés

A helyzetet számomra nehéz értékelni, mivel szerintem annyira nem is egyértelmű, mint elsőre látszik. Ha megnézzük a maximum képkockaszám hogyan alakul, akkor azt látjuk, hogy a legtöbb esetben ez az érték nagyobb a HyperThreading használata nélkül. Ezt a jelenséget a viszonylag új és a régebbi címek esetén egyaránt lehet tapasztalni, függetlenül a DirectX verziószámától. Átlagosan a maximális FPS 8 %-ot emelkedik, ha nem akarjuk használni a virtuális szálakat.

A minimum már érdekesebb képet fest. Itt az átlag pontosan ugyanannyi és az eredményeket egyesével vizsgálva sem igazán lehet eldönteni hogyan járunk jobban.

Ezért próbáljuk meg kicsit más szemszögből megközelíteni a mért értékeket:
Ha csak a tesztkonfiguráció eredményeit nézzük akkor kijelenthető, hogy a maximum FPS esetén nincs okunk panaszra, az minden vizsgált esetben 60 fölött van. Ha a gondolatkísérletet tovább folytatjuk akkor feltételezhetjük, hogy az egyszeri játékos bekapcsolt Vsync mellett húzogatja az egeret, így a 60 fölötti értékeket nem fogja látni. Emiatt sokkal fontosabb neki, hogy mennyi a minimum. Ha ez is 60 közelében, vagy legjobb esetben afölött van, a játékmenet tökéletesen folyamatos lesz. A Kingdom Come mérése azt mutatja, hogy a plusz hat szál segít elérni a bűvös határt, még a Deus Ex-el játszva pont a fizikai magok nyers ereje repít az ideális érték közelébe.

Továbbgondolva azt lehet mondani, hogy a tesztkonfiguráció a szükséges nyers erővel majdnem minden játék alatt rendelkezik, ezért a játékélményt inkább az befolyásolhatja, hogy a teljesítmény az egyes jelenetek során mennyire ingadozik, azaz mennyi a különbség a legmagasabb és az 1 % legalacsonyabb érték között. Ezt a stabilitást egy 0-100-ig terjedő skálán pontoztam a két érték aránya alapján. A grafikonon a magasabb érték a jobb, 100 jelöli az ideális állapotot amikor az 1% legalacsonyabb és a legmagasabb képkockaszám megegyezik.

Az ábrát látva az eddigi bizonytalanságunk kicsit csökken. Az értékek a Gears 5 kivételével 12 mag egyértelmű előnyét mutatják. Az átlagot nézve az előny nem jelentős, de a virtuális szálak jó 7%-al stabilabb eredményt mutatnak.

Összefoglalva tehát: A HyperTherading deaktiválása leginkább a maximum FPS-re van látványos hatással, ezért születtek a sokszor megdöbbentő összehasonlító videók az interneten. De a legtöbb embernek nem fog feltűnni, hogy a játék maximum 123 vagy épp 146 képkockát pumpál ki magából, mivel úgyis a Vsync limitál. Természetesen tudom, hogy az 1080p világát elhagyva ezek az értékek változhatnak, továbbá a magasabb képfrissítésre képes monitorok egyre inkább elérhetők az alacsonyabb árkategóriában is. Ezek figyelembevétele nyilván változtatott volna a teszteredményeken. Ráadásul mivel már nem multizok vagy 10 éve, ezért nem tudom, hogy ott most a Vsync on vagy off a “menő”.

Én a saját konfigurációmnál úgy döntöttem, bekapcsolva hagyom a HT-t. Mivel az Nvidia támogatja a monitorom és így a FreeSync működik, ezért mindent 75 FPS-re limitálva játszom. A mérések szerint a minimum értékek átlaga ugyanaz a szálak számától függetlenül, ezért én inkább a stabilitásra szavazok. Ráadásul - bár sajnos nem mértem - nekem úgy tűnik, a töltési idők is rövidebbek, ha 12 szál dolgozik. A tömörítés jól többszálúsítható folyamat.

Bónusz track

Mivel az eredmények nem voltak teljesen egyértelműek, ezért úgy gondoltam, érdemes a témát még egy kicsit más nézőpontból is megnézni. Mivel az eddigi logika mentén kívánok haladni, továbbra sem fogom vizsgálni, hogy az olyan jól párhuzamosítható feladatok, mint például a tömörítés hogyan gyorsulnak. Maradjunk a képkocka számoknál.
Ahogyan azt az eddigiekből lehet látni, a tesztrendszert nem igazán fekteti kétvállra egyik játék sem, mivel az alkatrészek nyers ereje a legtöbb esetben a minimum FPS-ek esetén is hozza a 60-as szintet. Szóval arra gondoltam, mozdítsuk ki egy kicsit a processzort a komfortzónájából: magletiltással meg fogom mérni, hogy kettő, illetve négy fizikai mag esetén milyen hatása van a HT ki és bekapcsolásának. Mivel ez rengeteg mérést jelent, ezért csak a paletta két széléről választok egy - egy játékot. Egy olyat, ami eredeti mérések alapján gyorsult, illetve egyet ami lassult a HT deaktiválása után.

A számokat látva ki lehet jelenteni, hogy két fizikai maggal processzort játékra csak kompromisszumokkal lehet használni. A HT hatása itt mindkét cím esetén látványos javulást hoz, a játszhatatlanul lassú szintről közel játszhatóra emelve az élményt. Nézzük ezeket kicsit részletesebben:

Mankind Divided
Érdekes jelenséget tapasztaltam: 2 fizikai mag esetén a HT bekapcsolása minden érték látható javulását eredményezi. 4 mag esetén a maximum már kisebb ha 8 szál dolgozik, ennek ellenére az átlag ugyanannyi marad, mivel a minimum értékek javulnak a virtuális szálak használatával.

A Deliverance az előző méréshez hasonlóan egyenletesen javuló teljesítményt mutat, ahogyan egyre több szálat adunk neki.

[P:C][L:/dl/upc/2019-12/01/248828_fabttznslkv5j2lp_4_mag_deliverance.png](IMG:/dl/upc/2019-12/01/248828_fabttznslkv5j2lp_4_mag_deliverance.thumb.png)(/IMG)[/L][/P]

Ezek alapján a kép sokkal árnyaltabb. Innentől a gondolatmenetem csak egy elmélet, mivel nem találok semmiféle információt, ami ezt képes lenne megerősíteni vagy cáfolni. Erősen processzor limitált esetben a HT használata mindig gyorsulást hoz. Úgy gondolom 8, 12 szál mellett a HT kikapcsolása során tapasztalható sebesség növekedés talán annak köszönhető, hogy a játék “nem tud mit kezdeni” a túl sok szállal. Elképzelhető, hogy a játék felépítéséből adódóan az erőforrásokat nem képes hatékonyan elosztani, ha túl sok szál van, ennek ellenére a Windows pedig próbálja az összeset egyenletesen terhelni. Így talán ennek a következménye az, hogy a maximum képkockaszám olyan látványosan tud gyorsulni 8-12 szál mellett a legtöbb tesztelt játék esetén.
A bónusz mérés így csak megerősített a korábbi döntésemben: a nagyobb maximálisan elérhető képkockaszám ellenére én bekapcsolva hagyom a HyperThreadinget.

Hirdetés

3 pénzügyi döntés, amit minden kisvállalkozónak érdemes átgondolnia az év végéig

PR Ahogy az év vége közeledik, itt az ideje, hogy egy pillanatra megálljunk és áttekintsük vállalkozásunk pénzügyi helyzetét. Ne hagyjuk, hogy az év utolsó hónapjai elússzanak a sürgető feladatok és elfeledett határidők között!

Előzmények