Lassan évek óta pletykálnak arról, hogy a Nintendo most már aztán tényleg leváltja egy új dizájnnal a Switch hardverét, de ez a mostani OLED model bemutatásával sem következett be. Bár jó dolog erről írni, de a Switch egy konzolnak tekinthető szoftveres szinten is, ami magával hozza a hardver cseréjének nehézségeit. Technikailag minden játékot a Tegra X1-re optimalizálnak, és a Nintendo megengedi a shaderek esetében a bináris kód szállítását, vagyis egy alkalmazás számára elég ezeket betölteni, nem kell a program első indításakor, vagy menet közben törődni a shader fordítással. Ez ráadásul olyan, assembly szintű optimalizálásokra is lehetőséget ad, amelyekkel számottevő tempóelőnyt lehet nyerni.
Hirdetés
A legtöbb új hardvert pedzegető hír arra épít, hogy az NVIDIA-nak van egy pár újabb Tegrája a 2015-ben megjelent X1 óta. Például létezik egy P1, vagy ott az Orin kódnevű SoC, főleg utóbbit tartották esélyesnek az új Switch-be. Van azonban két alapvető probléma, amiről a pletykák során nem számoltak be. Egyrészt a Tegra P1 és az Orin kódnevű SoC is jelentős fogyasztástöbblettel rendelkezik a Tegra X1, újabb Switch gépek által használt verziójához viszonyítva, másrészt egyik lapka IGP-je sem lenne képes futtatni a binárisan lefordított, már kiadott játékokban szállított shadereket.
Nem igazán ismert, de a GPU-k esetében az utasításarchitektúra még egy generáció elteltével is jelentősen változhat. A gyártók kivágnak és hozzáadnak utasításokat a rendszerhez, amely önmagában nem baj, de csak addig, amíg az alkalmazás az adott shadereket valamilyen köztes nyelven szállítja. Ez a népszerű platformokon például teljesen megoldott, ilyen nyelv a SPIR-V, a DXIL, illetve a manapság kivezetés alatt álló D3BC. Nem gond tehát, ha egy új GPU bizonyos utasításokat nem tartalmaz, mert a meghajtóban szállított fordító ezt tudni fogja, és a köztes nyelvről már jó kódot fordít. Ha azonban egy játék eleve bináris kódot szállít, akkor az probléma, mert olyan utasítás lehet a binárisban, amit már nem ismer az új hardver, ezáltal nem is tud vele mit kezdeni.
Ugyanezzel a problémával szembenézett a Sony és a Microsoft is a PlayStation 5, illetve az Xbox Series S és X konzolok tekintetében, és úgy kezelték, hogy a korábbi PlayStation 4, illetve Xbox One konzolcsaládokra kiadott programok egy emulációs rétegen keresztül futnak. Ez az új gépek által nem kezelt operációkat ki tudja váltani más, kezelt utasításokkal, illetve meg kell említeni azt is, hogy az érintett cégek az AMD-től egyedi dizájnokat kértek, így a lapka tervezője az emulációval rossz hatásfokkal kiváltható utasításokat vissza tudta építeni az új generációs architektúrába. És még ilyen körülmények között is van pár régebbi cím, amelyek futtatása nem megoldható, bár kétségtelen tény, hogy a többséggel nincs gond.
A Nintendónak a hardver cseréjekor pont ugyanezzel kellene megbirkóznia. Sőt, a helyzet abból a szempontból rosszabb, hogy az NVIDIA a Maxwell óta jóval nagyobb mértékben módosította az utasítás-architektúrát, mint az AMD, így több olyan hiányzó operáció van az újabb rendszerchipekben, amelyeket csak rossz hatásfokkal lehetne emulálni, ráadásul ezek hardveres visszaépítése sem biztos, hogy egyszerűen megoldható. Persze nyilván egy mérnöki problémáról van szó, és ha kellően megfizetik, akkor bármi lehetséges, de kérdés, hogy a Nintendo fel akar-e venni a vállára egy olyan szoftveres terhet, ami egy új hardverrel jár, illetve az NVIDIA hajlandó lenne-e – a japánok számára is elfogadható költségekkel – egyedi dizájnt tervezni. Hacsak az egyik kérdésre is nemleges a válasz, akkor az már elkaszálja az új rendszert.
A konzoloknál tehát általánosan igaz, hogy a visszafelé kompatibilitás jelentős tervezést igényel, közel sem olyan egyszerű a képlet, mint például PC-s szinten. Mindez komoly anyagi teherrel is jár, hiszen ha meg is van minden hardveres és szoftveres háttér a működéshez, akkor is egyenként tesztelni kell a már kiadott címeket, mert egy elmélet alapján nem lehet garantálni a tökéletes működésüket, ahhoz gyakorlati vizsgálatok kellenek. Szóval leírva jól hangzik egy új rendszerchip a Switch esetében, de ez megközelítőleg sem egy szimpla hardvercsere.
A média egyébként szinte állandóan az NVIDIA DLSS-t hozza fel a hardver leváltása mellett, de közel sem biztos, hogy ez fontos a Nintendo számára. Egy csomó módja van ugyanis a felskálázásnak, és bőven lehet olyan kódot futtatni a jelenlegi Switch konzolokon is, amelyek hasonló eredményt adnak. Például az AMD FidelityFX Super Resolution elérhető Vulkan API-ra, vagyis egészen szimplán alkalmazható lenne a japán cég rendszerén, de vannak további alternatív megközelítések is. Ahhoz tehát nem kell új rendszerchip, hogy a program alacsonyabb felbontásban számoljon, majd valamilyen rekonstrukció révén magasabb felbontásra skálázza a tartalmat, ez már az eddig eladott gépeken is megvalósítható. Más kérdés, hogy a fejlesztők akarják-e.