Znajomość Rzeczy #02 – Czy konsole upodobadniają się do PC?

W tym roku spodziewamy się zapowiedzi nowych konsol. Następców PlayStation 4 i Xboxa One. Niektóre plotki sugerują, że nowe konsole będą w stanie generować obraz w rozdzielczości 4K z prędkością 60 klatek na sekundę, chociaż najnowsze doniesienia temu przeczą. Mówi się, że będą opierać się nowych rdzeniach od AMD o nazwie ZEN 2, a za grafikę będzie odpowiedzialny chip NAVI. Wszystko to będzie wspierane przez minimum 12 GB pamięci RAM. A dzięki architekturze x86 (dokładniej x64), wsteczna kompatybilność będzie powszechna i bez problemu będzie można na nowych konsolach zagrać w gry z obecnej generacji. No właśnie, architektura x86 przybliżyła konsole do blaszaków bardziej niż kiedykolwiek. Czy to oznacza, że konsole stały się takimi PeCetami, tylko że stawianymi pod telewizorem?

Kilka lat temu, Valve wyszedł z inicjatywą Steam Machine. Niestety, przez brak dobrego marketingu i brak jakiejkolwiek kontroli sprzętu, inicjatywa ta umarła. Urządzenie pracowało pod kontrolą SteamOS, systemu opartego na jądrze Debiana, zmodyfikowanym pod względem usług Steamowych. Problem w tym, że w 2013 roku, niewiele gier ze Steama dało się uruchomić pod Linuxem, dlatego producenci instalowali tam Windowsa. Urządzenie takie traciło status Steam Machine i stawało się zwykłym, miniaturowym komputerem. Problemem była też cena. Tańsze wersje Steam Machine, miały procesory intela ze zintegrowanym układem graficznym który, nie ukrywajmy tego, słabo nadawał się do rozgrywki. Nierzadko były to układy niskonapięciowe montowane w laptopach. Za to droższe konstrukcje, umożliwiały rozgrywkę na przyzwoitym poziomie, ale właśnie, cena. Takie urządzenia kosztowały 4000 zł jak nie więcej.

Bez udziału większego gracza, taka inicjatywa nie miała racji bytu. Steam Machine aspirował do bycia konsolą, ale mnogość konfiguracji zabiła ten pomysł. Dlatego konsole mają pod tym względem przewagę. Tacy giganci jak Microsoft, Nintendo czy Sony mogą zamówić układy skrojone specjalnie dla nich. Ponieważ sprzedaż liczy się w dziesiątkach milionów sztuk, wytwórca układu może przeznaczyć całą linię produkcyjną dla takiego układu do konsoli. I tu dochodzimy do najważniejszych różnic między konsolami a komputerami. Pisząc jakiekolwiek oprogramowanie na PC, musisz napisać kod jak najbardziej uniwersalny. Komputery mogą mieć niezliczona ilość konfiguracji, a każdy, nawet najdrobniejszy element, może zaważyć na poprawności działania (najdziwniejszy problem, jaki widziałem, to podłączona drukarka marki Brother uniemożliwia uruchomienie się gry, wyskakiwal bluescrean na Windowsie XP, jak drukarka była odłączona, gra działała bez problemu). Pisząc grę na konsole, mamy jedną konfigurację na milionach urządzeń. Pozwala nam to dopasować kod gry, do jak najoptymalniejszego działania na tej konfiguracji. Oczywiście mówimy o grach robionych tylko na daną platformę. Tak zwane gry multiplatformowe, wykorzystują uniwersalne silniki jak Unity, Unreal Engine, CryEngine, Frostbite, czy inne silniki wykorzystywane przez dużych wydawców wykorzystują uniwersalne metody programowania dla wszystkich platform, a kompatybilność dodaje się w momencie kompilacji kodu przez użycie odpowiedniego kompilatora. Bardziej doświadczeni programiści, a zarazem większe studia deweloperskie, piszą natywnie kod pod dane urządzenie.

Ale sam sposób pisania kodu to nie wszystko. Dawniej sercami konsol były jednostki obliczeniowe w architekturze Power, procesorach stworzonych przez IBM do produkowanych przez nich superkomputerów. Sony, zamawiając układ do PlayStation 3, wszedł w kooperację z Toshiba i wraz z nią, przerobił rdzenie IBM i stworzył układ o nazwie Cell. Mityczny już układ, o którym nie jedne publikacje zostały opracowane. Microsoft zlecił IBM-owi zbudowanie układu złożonego z 3 rdzeni Power. Konsole te były wyposażone w osobne układy graficzne. Microsoft skorzystał z usług ATI, Sony miało układ nVidii. Obaj producenci przygotowali układy na specjalne zamówienie, niemające bezpośrednich odpowiedników na rynku PC. W obecnych konsolach są stosowane układy APU produkcji AMD. APU, czyli Accelerated Processing Unit jest układem skrywającym w sobie rdzenie CPU, jak i układ graficzny. Takie rozwiązanie oszczędza miejsce na płytce drukowanej, zwiększa prędkość komunikacji między procesorem a kartą graficzną, i oczywiście zmniejsza koszty produkcji i projektowania. Producenci konsol skorzystali z architektury x86 z kilku powodów (poza Nintendo oczywiście, ale Nintendo zawsze szło własną ścieżką, nie oglądając się na innych). Ograniczenie kosztów produkcyjnych oraz ułatwienie “Pisania Gier” to dwa główne powody. APU użyte w obu konsolach niewiele różni się od siebie. Oba układy składają się z 8 rdzeni Jaguar (Xbox jest taktowany o 150 Mhz szybciej). Największe różnice składają się na układy graficzne. Pomimo szybszego procesora, Xbox ma słabszy układ graficzny.

Microsoft chciał zastosować sztuczkę mogącą dać wyraźny wzrost wydajności, dodając 32 MB bardzo szybkiej pamięci ESRAM. Niestety, co w teorii wydawało się dobrym pomysłem, w praktyce okazało się niewypałem. Programiści mieli problemy z poprawnym użyciem tej pamięci i często pisząc gry, unikali używania jej. Przez co podstawowa wersja Xboxa odstawała mocno od największego konkurenta. Sony w czwartej generacji PlayStation użyło odpowiednio silnego układu graficznego, który pozwalał w większości przypadków uzyskanie obrazu FullHD w płynności 30 klatek na sekundę. Oczywiście pierwsze produkcje nie zawsze zachowywały te parametry, a programiści stosowali różne sztuczki, jak na przykład dynamiczne skalowanie rozdzielczości zastosowane w Killzone 4 w trybie multiplayer, zapewniające stałe 60fps kosztem rozdzielczości obrazu. Dopiero pełną moc PS4 pokazał Uncharted 4. Naughty Dog stworzył olśniewającą oprawę w stałych 60 klatkach na sekundę. O takiej grafice mogła pomarzyć większość graczy PeCetowych. Aby wyświetlić taką grafikę, potrzeba było komputera kosztującego ponad 10 000 zł. A to wszystko było wyświetlane na konsoli za niespełna 2000 zł, posiadającej procesor rodem z tabletów (Jaguar został zaprojektowany pierwotnie, jako procesor do tabletów) i układ graficzny odpowiadający kartom graficznym za 600-800 zł. Cuda optymalizacji i jednej konfiguracji sprzętowej.

W późniejszym czasie obaj producenci wydali odświeżone i mocniejsze wersje swoich konsol. Microsoft z najsłabszej konsoli generacji zrobił konsolę najmocniejszą. Zlecił AMD zrobienie układu w niższym procesie technologicznym, posiadający mocny układ graficzny i przeprojektowane rdzenie Jaguar, pracujące z wyższą częstotliwością. Układ graficzny został też usprawniony, nowsze jednostki obliczeniowe, w wiekszej ilości zapewniły wyświetlanie obrazy w rozdzielczości 4K i często w 60 klatkach na sekundę (Zrezygnowano z dodatkowej pamięci ESRAM). Sony także usprawnił swoją konsolę, mocniejszy CPU oraz usprawniony układ graficzny. Nie tak mocna, jak konstrukcja Microsoftu, ale pozwala wyświetlać obraz w rozdzielczości 4K. Nowe wersje obecnych konsol działają równolegle do pierwszych rewizji, są mocniejsze, sprawniejsze i zapewniają lepsze wrażenia płynące z rozgrywki. Nie potrzeba kupować specjalnych wersji gier dla tych konsol. Tak samo, jak na PC. Raz kupiona gra powinna działać na wielu konfiguracjach. W szczególności w dobie cyfrowej dystrybucji. Architektura x86 powinna zapewnić wsteczną kompatybilność na nowych konsolach.

Konsole upodabniają się do PC i to jest fakt. Obsługa klawiatury i myszki w Xbox to potwierdza. Ale konsole nie zastapia PC. Konsola to sprzęt nastawiony do konsumpcji treści multimedialnych. Gry, filmy, muzyka. Bez odpowiedniego oprogramowania, konsola nie stanie się niczym więcej jak stylowym urządzeniem stawianym w okolicy telewizora. Oprogramowania pozwalającego na wygodną edycję tekstu, na proste arkusze kalkulacyjne. Oprogramowania, dzięki któremu można by wygodnie przejrzeć zasoby internetu, Facebooka bądź Tweetera. Dla niektórych ważna jest też prosta edycja zdjęcia lub filmu, co zapewnia już większość smartfonów w naszych kieszeniach. Tego nie ma jeszcze na konsolach i dopóki nie pojawi się taka funkcjonalność, nie będzie można mówić o tym, że konsole stały się PeCetami. W końcu o bankomatach nie mówimy komputer lub PC, a składają się właśnie z takiego sprzętu. Co więcej, większość bankomatów pracuje pod kontrolą Windowsa XP, albo odpowiednio przygotowanej dystrybucji Linuxa. A pomimo tego, służą tylko do wypłacania pieniędzy. Pod względem sprzętowym, mogą być identyczne, ale to oprogramowanie stanowi o przeznaczeniu urządzenia. Dlatego jestem daleki od twierdzenia, że konsole stały się PeCetami. Może kiedyś, ale nie teraz.

Autor: Dawid “Dejw” Rynkowski

  • Marcin Fx

    Fascynujące jest jakimi bajkami żyją koledzy konsolowcy. Tak, tak komputery za 10 tys vs ps4. Ten gtx750 pewnie kosztuje tę dychę 🙂 Byle jaki gtx 1050 za 500 stów wsysa nosem całe ps4 i mówi to gracz, którego główną platformą jest właśnie ps4.

    Odpalony na pc mesjasz grafiki z ps4 the order 1886 w 2x większej ilości klatek i na karcie sprzed 2 generacji wstecz.

    https://segmentnext.com/2015/08/17/check-out-the-order-1886-running-pc-at-60fps/

    • Dawid Rynkowski

      Dziękuję za komentarz. Nie trafiła do mnie informacja o tym że Order został odpalony na PC. No ok, przesadziłem z tymi 10 000, ale z drugiej strony ty przesadziłeś z 1050 dorównującym konsolom.

      • Marcin Fx

        nie przesadziłem, jak sam nie możesz porównać to zapraszam na yt, tam tego pełno

  • Simplex

    Spóźniona korekta obywatelska: Uncharted 4 działa w 30 a nie 60 klatkach. Gdyby przy takim poziomie grafiki działał w 60 na PS4, to nie byłaby optymalizacja, a magia 😉

    “Twitter”, nie “Tweeter”.