PC tak szybki jak PlayStation 5. Microsoft nadrabia zaległości
Technologia, za sprawą której konsole bieżącej generacji tak szybko wczytują gry, jest coraz bliżej komputerów osobistych. Microsoft wykonał kolejny krok. Teraz pora na producentów kart graficznych i twórców gier.
Jedną z największych innowacji nowych Xboxów i PlayStation jest ich pamięć masowa. PS5 i Xbox Series X|S zostały wyposażone w szybką pamięć masową SSD NVMe, podobnie jak w miarę nowoczesne PC. W poprzednich generacjach konsole wykorzystywały znacznie wolniejszą pamięć mechaniczną, co powodowało, że gry potrafiły się wczytywać nawet minutami.
Czytaj też:
Na nowych konsolach jest już nie tylko równie wygodnie, co na nowych PC. Jest wygodniej i szybciej. Gry wczytują się błyskawicznie, mogą być równie szybko zrzucane do pamięci, mogą też do niej szybko pobierać dane - co skutkuje większą różnorodnością lub szczegółowością tego, co się dzieje na ekranie. Dziwne, biorąc pod uwagę fakt, że nowoczesny PC do gier zazwyczaj ma wydajniejsze podzespoły od konsoli.
Wynika to z dwóch przyczyn. Po pierwsze, Xbox Series i PlayStation 5 co prawda czerpią większość swojej budowy z architektury IBM PC, tak nie do końca się jej ściśle trzymają. W obu urządzeniach obok pamięci SSD znalazły się dodatkowe koprocesory do jej obsługi. Oba urządzenia wykorzystują też pisane specjalnie z myślą o nich oprogramowanie układowe, podczas gdy gamingowe PC z Windowsem korzystają z tych samych bibliotek, co starożytne komputery w niektórych biurach księgowości. Oba problemy da się rozwiązać.
Pierwszy brutalną siłą obliczeniową. Drugi zapewnieniem podobnych rozwiązań programowych. Dziś Microsoft pochwalił się kolejnym etapem wdrożenia.
Co to jest DirectStorage i dlaczego gracze go potrzebują?
Szybsze przetwarzanie danych z pamięci to nie tylko szybsze wczytywanie się gier. To również możliwość strumieniowania większej ilości danych z pamięci podczas działania gry, a więc możliwość wyświetlenia dużo większej liczby bardziej złożonych elementów na ekranie. To z kolei otwiera nowe możliwości projektantom gier, którzy będą mogli wprowadzać do nich nowe mechaniki lub wzbogacić je wizualnie.
Gry wideo optymalizowane pod dyski talerzowe - a więc pod minioną generację konsol - typowo strumieniowały dane z pamięci z przepływnością na poziomie 50 MB/s, w blokach po 64k, co przekłada się na kilkaset odwołań na sekundę do procesora głównego po nowe dane do przetworzenia. Konsole bieżącej generacji (i nowoczesne PC) wykorzystują pamięci NVMe, których przepływność liczona jest w gigabajtach na sekundę. Pamięć Xboxa Series X sprzętowo zapewnia przepływność 2,4 GB/s, co przekłada się na ponad 35 tys. odwołań do bloków po 64k na sekundę.
Wykorzystując dotychczasowe API, aplikacja (czyli gra wideo) musi każde odwołanie obsłużyć sekwencyjnie. A więc wysłać zapytanie i czekać na odpowiedź. Dopóki tych odwołań było mało, nie było to problemem: każde z nich to relatywnie prosta operacja. Jednak zwiększenie ich liczby tysiące razy zaczyna zatykać cały system.
DirectStorage pozwala na równoległe przetwarzanie odwołań i znaczące skrócenie drogi obiegu danych. Nowe API pozwala twórcom gier w ramach jednej instrukcji zlecić wiele odwołań do pamięci, zamiast każdemu odwołaniu poświęcać osobną instrukcję. Umożliwia też przeniesienie danych mających być przetworzonymi przez procesor graficzny z niemal całkowitym pominięciem pośredniczącego do tej pory w transferze procesora centralnego.
Jak duży ma wpływ wydajność oprogramowania na ogólną wydajność sprzętu? Ogromny. DirectStorage umożliwia twórcom gier wprowadzenie równoległego pobierania, przetwarzania i wysyłania danych, a także przenoszenia ich bezpośrednio pomiędzy RAM-em a pamięcią układu graficznego. Równocześnie też zapewnia obsługę dekompresji danych. To znacząco odciąża procesor główny urządzenia. Jak twierdzi Microsoft, typowa gra na starym API rezerwowała sobie większość rdzeni CPU konsoli Xbox Series X do operacji wymiany danych. Z DirectStorage potrzebuje zarezerwować tylko część czasu pojedynczego rdzenia do tych samych operacji, zwalniając resztę zasobów procesora do innych przeliczeń.
DirectStorage 1.1 - co nowego? Nawet trzykrotne przyspieszenie wczytywania gier.
DirectStorage jest częścią DirectX. Jest obsługiwany w Windows 11 i w ograniczonej formie (choć nie jest jasne, na czym ograniczenia polegają) w Windowsie 10 1909 lub nowszym. To oznacza, że owa technologia jest już zaszyta w systemie. Gracz nie musi nic robić, by zyskać dostęp do jej bieżącej wersji, poza regularnym aktualizowaniem samego Windowsa.
Wersja 1.1 wprowadza kolejny element konsolowego systemu przetwarzania danych, jakim jest dekompresja tekstur. W ramach DirectStorage 1.1 wykonywane jest to przez procesor graficzny, z pominięciem procesora głównego. W efekcie, jak wynika z pomiarów Microsoftu, prędkość wczytywania typowej gry wzrasta około trzykrotnie. W przypadku przygotowanego technicznego dema, owa prędkość zmalała z 2,36 s do 0,8 s.
Niestety, nadal pozostaje fundamentalny problem, jakim jest brak gier zgodnych z DirectStorage i brak kart graficznych, które z mechanizmem współpracują. Na dziś jego obsługę zadeklarowały Nvidia i AMD i zapewniają, że sterowniki do GeForce’ów i Radeonów niebawem będą to obsługiwać. Intel, producent kart Arc, na razie w tej sprawie milczy.
Z kolei w kwestii gier jedyną grą jest Forspoken, która jeszcze nie została wydana. Jej premierę wyznaczono na przyszły rok. Gra jest pisana w Unreal Engine 5 i ma wykorzystać DirectStorage do szczegółowości grafiki, jakiej wcześniej na PC nie widziano. Należy te obietnice jednak traktować z dużą dozą sceptycyzmu.