Míg korábban azt szoktuk meg, hogy a konzolgyártók szépen-lassan csepegtetik az információkat, és általában közvetlenül a megjelenés előtt derülnek csak ki a konkrét hardveres részletek, addig a Microsoft az Xbox Series X esetében meglepően korán kezdte feltárni az információkat, most pedig tulajdonképpen mindent elárult a hardverről. Szintén érdekes, hogy az Xbox Series X tulajdonképpen készen van, működik és vidáman futtatja a játékokat, a Microsoft tehát láthatóan nagyon jól áll időben, és magabiztosan beszél a konzolról.
Meglepően erős CPU és GPU
De vágjunk is bele a részletekbe! A konzol lelkét ezúttal is egy AMD által tervezett APU egység adja, ami a TSMC 7 nanométeres eljárásával készül majd. Ez már egy javított gyártástechnológia az alap 7 nm-hez képest, de még nem az EUV-alapú 7nm+. Maga a chip 360 négyzetmilliméter területű, 15,3 milliárd tranzisztorból áll, ami nagy hatékonyságot sejtet, ugyanis jóval kisebb, mint azt korábban sokan spekulálták.
A processzor az AMD Zen 2-es architektúrájára épül, 8 maggal és 16 szállal, amiből 1 magot és 2 szálat lefoglal magának a rendszer, a többi a játékoké. Órajelek tekintetében érdekesen alakul a helyzet, a fejlesztők ugyanis dönthetnek úgy, hogy:
- 3,8 GHz-en menjen a processzor, de SMT nélkül,
- vagy 3,6 GHz-en, de az SMT bekapcsolásával.
A Microsoft hangsúlyozza, hogy az órajel mindkét esetben fix, nem lesz boost vagy bármi hasonló dolog, hiszen egy konzol esetében nagyon fontos a rögzített specifikáció, hogy mindig pontosan ugyanolyan teljesítményre lehessen számítani. A két üzemmódot a fejlesztőkkel való egyeztetés után alakította ki a Microsoft, ugyanis a kezdeti időben, amíg a stúdiók még a jelenlegi generációra is dolgoznak, sokan inkább a fix 7 szálat választják majd magasabb órajelen.
A CPU-ba több egyéni módosítás is bekerült a biztonság, az energiamenedzsment és a teljesítmény érdekében, azonban mivel az egész APU egység összesen 76 MB-nyi cache memóriával rendelkezik, az asztali Zen 2-es processzor hatalmas L3-as gyorsítótárát vélhetően visszavágták kicsit.
A GPU is eléggé impresszív: az AMD RDNA 2-es architektúrájára épülő egység 3328 shaderrel rendelkezik 52 CU-ból (a chipen fizikailag 56 CU található, amiből 4-et letiltanak a jobb kihozatal miatt). A GPU fixen 1825 MHz-en ketyeg, ami egyrészt meglepően magas, másrészt pedig a CPU-hoz hasonlóan itt sincs boost, hogy mindig egyforma teljesítményt nyújtson.
A Microsoft vezető mérnöke, Andrew Goosen elmondta, hogy a GPU megtervezésekor a cél a minimum kétszeres nyers TFLOPS teljesítmény volt az Xbox One X-hez képest, hogy garantálható legyen a 4K 60fps, illetve a 120fps is elérhető legyen, és erre jönnek rá még a fejlettebb architektúra miatti előrelépések.
Nagyon fontos volt a gépi tanulás hatékonnyá tétele is, hiszen ez lehet az alapja a modern élsimítási eljárásoknak, de számos más esetben is szükség lesz rá. Mivel az RDNA 2-ben nincsenek külön tensor magok, mint az Nvidia GPU-iban, így az AMD és a Microsoft más megoldáshoz folyamodott: egyrészt a cucc támogatja a felezett pontosságú FP16-ot (ami így 24 TFLOPS teljesítményt jelent), valamint spéci hardveres módosításokat eszközöltek az 4 és 8 bites integer utasításokra (az előbbi esetében 49 TOPS, míg az utóbbinál 97 TOPS a teljesítmény).
Nagyon fontos. hogy az Nvidia Turing-architektúrájához hasonlóan az RDNA 2-nél is bevezették a mesh shadereket, amivel teljesen kikerülhető a renderelés során a GPU fixfunkciós vertex setup és tesszellációs része.
Ez azért fontos, mert ezek egyre inkább kerékkötőivé váltak a teljesítménynek ahogy a fejlesztők egyre több geometriai részletet szeretnének megjeleníteni, amire lehetőségük is lenne, hiszen maguk a GPU-k egyre szélesebbé váltak, egyre több számítási teljesítménnyel: "A mesh shaderek segítségével a fejlesztők teljesen kikerülhetik a fix funkciós egységeket, és így sokkal több a mozgásterük, és memóriát is megtakaríthatnak. Ez lehetővé teszi, hogy jelentősen megnöveljék a részletességet és az animációk komplexitását, ráadásul sebességvesztés nélkül" - mondta Goose.
De olyan újdonságok is bejöttek, mint hogy a GPU képes önmagától elosztani a munkát a shaderei között anélkül, hogy a CPU-nak be kellene avatkoznia, ami szintén sok erőforrást szabadít fel.
Tényleg van hardveres ray-tracing
A sugárkövetés tekintetében az RDNA 2 teljesen támogatja a jelenlegi legfrissebb, DXR Tier 1.1-es szintet, és az Nvidia megoldásához hasonlóan a speciális egység a BVH struktúrák elkészítését gyorsítja (vagyis nagyjából, hogy a fény milyen úton jár és milyen dolgokkal találkozik menet közben, és azokról hogy verődik vissza).
A Microsoft szerint mindez ugyan működne a hagyományos shader magokon, de ez önmagában több teljesítményt emésztene fel, mint 13 TFLOPS. Hangsúlyozták, hogy a dedikált ray-tracing hardver és a shaderek teljesen párhuzamosan tudnak futni egymás mellett, teljes sebességgel.
Persze, ez nem azt jelenti, hogy a shadereknek végső soron nincs dolga a sugárkövetés használatánál, hiszen a BVH struktúra mellett számos más számítást kell elvégezni a végeredményhez, így tehát a ray-tracing továbbra is teljesítménycsökkenéssel jár majd, csak úgy mint PC-n, azonban a fix hardver és az ehhez kialakított szoftver szoros együttműködése miatt komoly optimalizációra nyílik lehetőség. Goosen megerősítette ráadásul, hogy a konzolos hagyományokat követve alacsony szintű hozzáférést engednek a fejlesztőknek az RT magokhoz.
Érdekes memóriarendszer
Az Xbox Series X egy meglehetősen furcsa memóriarendszert használ, legalábbis ahhoz képest, hogy az Xbox One X esetében egy letisztult és egyszerű 384 bites buszt használtak a teljes 12 GB-os kapacitásra. Az új konzolnál egy kicsit más a helyzet. A gépben összesen 16 GB-nyi 14gbps sebességű GDDR6-os memória foglal helyet, összesen hat darab 2 GB-os és négy darab 1 GB-os modul képében.
A rafinéria itt jön: a memória 320 bites buszon kapcsolódik az APU-hoz, és 10 GB-nyi képes belőle 560 GB/s átvitelre, a maradék 6 GB-nyi pedig 336 GB/s-re.
Maga a memória továbbra is teljesen egységes és megosztott a GPU és a CPU között, de a gyorsabb memóriaszelet csak a GPU számára érdekes, a CPU és az IO szemszögéből nem. Ennek megfelelően a 10 GB-os részt "GPU optimális" memóriának hívja a Microsoft, míg a maradék tökéletesen alkalmas a CPU, az audio, a stack, a script és az executable adatok kezelésére.
A 16 GB-ból egyébként 13,5 GB lesz elérhető a játékok számára, amiből 10 GB-ot természetesen a "GPU optimális" memória tesz ki, 3,5 GB-ot pedig a "sztenderd memória", míg a maradék 2,5 GB-nyi szelet szintén a "sztenderd memóriából" van lefoglalva külön az operációs rendszer számára.
A Microsoft szerint a nagyon gyors, 14gbps-es GDDR6 memória sok kihívás elé állította őket a tervezéskor, és úgy érezték, hogy a 320 bites egy jó kompromisszum a megfelelő teljesítmény érdekében, hiszen végső soron egy olyan rendszert kellett tervezniük, ami rendesen működik és amit piacra lehet dobni korrekt árazás mellett.
Új generációs tárhely, sok trükkel
Az Xbox Series X alapból egy 1 TB-os NVMe SSD-vel érkezik majd, amit a Microsoft és a Seagate közösen tervezett, és fémbe burkoltak a jobb hőleadás miatt. Az egység 3,8 wattot fogyaszt, és nem volt megengedhető, hogy a PC-s SSD-khez hasonlóan romoljon a teljesítmény a melegedéssel.
Az SSD jelen esetben 2,4 GB/s áteresztőképességet garantál, de nem is ez a különösen impresszív, hanem a szoftveres háttér és az APU-ba épített spéci egységek. A rendszer lényege, hogy az SSD egyfajta kiterjesztett memóriaként működhessen, és a játékok 100 GB-nyi adatot azonnal el tudjanak érni.
A Microsoft ezt Velocity Architecture-nek nevezi, és az SSD csak egy része. Nagyon fontos, hogy az APU-ba építettek egy hardveres kitömörítő egységet, ami önmagában 6GB/s-os sebességre képes, így egyrészt lépést tud tartani az SSD-vel, másrészt pedig leveszi a terhet a CPU-ról. Végül pedig a harmadik rész egy teljesen új szoftveres IO-réteg, ami a jelenlegi, 30 éve használt rendszert váltja ki, és DirectStorage néven a DirectX részeként érkezik a konzolban.
Mindez azért nagyon fontos, mert Andrew Goosen elmondta, hogy rengeteg kísérletet végeztek, és ha az eddigi megoldásokkal a CPU-nak kellett volna végeznie a kitömörítést olyan sebességgel, hogy lépést tartson az SSD-vel, akkor az önmagában három Zen 2-es magot foglalt volna le. Erre pedig még rájön az IO overheadje, ami további kettő Zen magot igényelt volna, így tehát csak ez elvitt volna öt CPU magot.
Az új megoldásokkal azonban mindössze egyetlen mag körülbelül 10%-ára van szükség.
A Velocity Architecture ad lehetőséget arra is, hogy több játékot egyszerre tudjunk Suspend / Resume üzemmódban tartani. Ezt a rendszer úgy éri el, hogy játékonként lehetővé teszi, hogy az elérhető 13,5 GB-nyi memóriát azonnal becache-elje az SSD-re, ahonnan pár másodperc alatt előhívható. A Microsoft azt garantálja, hogy legalább három, natív Xbox Series X-es játék tartható ilyen állapotban, ez tehát 40GB-nyi helyet elfoglal az SSD-ből, de mivel a Velocity Architecture saját hardveres ki- és betömörítéssel rendelkezik, könnyen lehet, hogy ennyi helyre sem lesz szükség.
Fontos megemlíteni, hogy a tárhely kizárólag a hivatalos, Microsoft által forgalomba hozott 1 TB-os "kártyával" lesz bővíthető, amit a konzol hátulján kell bedugni a gépbe. Természetesen ezt is a Seagate gyártja, és azért van szükség erre a megoldásra, mert garantálni kell a fix sebességet és a minőséget (ahogy az órajeleknél is), hogy a fejlesztők mindig számíthassanak rá, így itt már nem működik, hogy bármilyen olcsó holmit csatlakoztathassunk a rendszerhez.
A konzol egyébként USB-n keresztül támogat majd külső meghajtókat is, erre tárolás céljából át lehet menteni az Xbox Series X-es játékokat, de futtatni onnan nem lehet őket. Viszont régebbi, visszafelé-kompatibilis játékok futhatnak innen.
Hatékonyabb memóriakezelés
De nagyon fontos volt a memóriakezelés hatékonyabbá tétele is, hiszen ezúttal nem kapunk sokszoros növekedést a mennyiség tekintetében, mint az előző generációs ugrásoknál. Goosen elmodta, hogy a megoldás abban rejlik, hogy a játékok nagyon pazarlóan bánnak a memóriával, és a betöltött adatok jelentős része egyáltalán nem is szükséges. Például a textúrákhoz betöltött mip adatok jelentős részére nincs igény egy adott jelenetben, azt ugyanis nem látja a játékos.
Ezt egyébként onnan tudják, hogy az Xbox One X-be beépítettek egy hardveres monitorozó rendszert, így több évnyi, gyakorlatban összegyűjtött adat áll rendelkezésre. Összességében azt találták, hogy az egész rendszer optimalizálásával olyan eredményt lehet elérni, mintha 2x-3x több memória állna rendelkezésre.
Ehhez a Microsoft elkészített egy Sampler Feedback Streaming (SFS) névre keresztelt technikát, aminek segítségével a memóriába töltött adatok jobban stimmelnek majd azzal, amire ténylegesen szükség is van az adott jelenetben. A rendszer például intelligensen tölti be a magas minőségű mip textúra adatokat ott, ahol tényleg szükség is van rájuk, de gondoskodik róla, hogy egy alacsonyabb minőségű mip is rögtön rendelkezésre álljon, ha arra szükség lenne, így nem akadnak el a GPU-folyamatok. A GPU-n belül helyet kapott egy külön hardver az SFS-hez, ami a mipek közötti váltást a lehető leggyorsabban lebonyolítja, így legrosszabb esetben is egy-két képkockával később megérkezik a szükséges magas minőségű mip.
A Microsoft szerint ez a rendszer annyira fontos, hogy azt nem lehet eléggé hangsúlyozni, és hogy ténylegesen "megsokszorozza" a felhasználható memóriát.
Kevesebb input lag és nulla screen tearing
A Microsoft az alapoktól kezdve tervezte újra a kontrollert és a szoftvert is, hogy még tovább csökkenthető legyen az input lag. A technológia a Dynamic Latency Input nevet kapta, és alapvetően két dologból áll:
- a legutolsó analóg inputokat közvetlenül azelőtt kapja meg a játék, hogy szüksége lenne rá,
- a digitális inputok pedig kapnak egy időbélyeget, és úgy küldi el, hogy aztán az eredmény a megfelelő képkockán jelenhessen meg.
Ezen kívül a késleltetés csökkentésének szerepe van annak is, hogy a konzol támogatja fogja a 120 Hz-es képfrissítést és a HDMI 2.1 segítségével a Variable Refresh Rate-et is.
Továbbá a screen-tearing jelenséggel is szeretett volna valamit kezdeni a Microsoft, ahol jelenleg két jelenség uralkodik: ha a képkockát azelőtt rakják ki, hogy kész lenne, jön a screen-tearing, ha pedig triple buffert használnak, akkor a framerate kisimul, de növekszik a késleltetés. Ennek kiküszöbölésére a Microsoft teljesen átírta az API-t, ami azért felelős, hogy a kész képkockák eljussanak a tévére.
"Mi teljesen szétválasztottuk a double vagy triple bufferinget a késleltetéstől, így a fejlesztők bekapcsolhatják a triple bufferinget, és külön meghatározhatják, hogy milyen késleltetést szeretnének. Tehát a késleltetés aközött, amikor egy CPU elkezd egy képkockát és a GPU elkezd egy képkockát már meghatározható mikromásodpercben, és nem a V-synctől függ.
Hogyan futnak majd a régebbi játékok?
Az Xbox Series X technikailag képes lesz minden Xbox One-ra megjelenő futtatni, ráadásul natívan, emulációs réteg nélkül. Ráadásul az Xbox One X-hez hasonlóan képes lehet automatikusan feljavítani a régebbi játékokat, ami jobb töltési időkben, élsimításban és magasabb felbontásban nyilvánulhat meg. A natív 1080p-s játékok például renderelhetők már natív 4K-ban, és ezt a rendszer magától oldja meg, nincs szükség hozzá beavatkozásra a fejlesztők részéről.
A másik fontos dolog a HDR, az Xbox Series X ugyanis képes lesz HDR-t varázsolni olyan játékokba is, amikbe azt eredetileg nem építették be a fejlesztők.
Ehhez alapnak a Gears 5-ös Unreal Engine 4-féle HDR implementációt veszik alapul, ami jelenleg az egyik legjobb a piacon, majd gépi tanulás segítségével alakítják át a régebbi SDR-es játékok képét. Ráadásul a Digital Foundry arról számolt be, hogy itt nem valami kamu HDR-ről van szó.
De a Gears 5 eredményei egyébként is meggyőzőek: a játékot mindössze két hét alatt sikerült "átportolni" az új Xboxra, ahol már a PC-s ultra beállításoknak megfelelően fut, teljesen új kontakt árnényolási rendszerrel, és bekerült az Unreal Engine 4 teljesen új, szoftveres sugárkövetésre épülő screen-space global illumination rendszere. Ezekkel a beállításokkal a játék tudja tartani a 60fps-t 4K-ban, ami jelenleg még a GeForce RTX 2080-nak is nehezen megy, pedig a játékot még egyáltalán nem optimalizálták a konzolra.