Digital Foundry kontra kompatybilność wsteczna na Xbox One
Analiza technologii i gier.
Szczęki wielu graczy dotknęły podłogi, gdy Microsoft zapowiedział podczas targów E3, że Xbox One otrzyma opcję wstecznej kompatybilności z X360, jeszcze w tym roku. Nawet pomijając pracę potrzebną do przeniesienia funkcji GPU ze starszej konsoli, sam koncept tłumaczenia poleceń procesora 3,2 GHz PowerPC z X360 na sześciordzeniowy układ x86 Jaguar wydaje się być zadaniem iście herkulesowym - a jednak cel zrealizowano. W kilku przypadkach efekty nie są idealne, ale sporym osiągnięciem jest już fakt, że system w ogóle działa.
W odróżnieniu od mało rozbudowanej kompatybilności wstecznej na X360, wymagającej ciągłego wrappera dla każdej gry, tym razem postawiono na bardziej ambitne podejście, bazujące na wirtualnej maszynie na Xbox One. To narzędzie zawiera opcje systemu operacyjnego X360, choć pozostają one niedostępne dla użytkownika, przez co programy sprawiają wrażenie włączonych natywnie na oryginalnym sprzęcie. Xbox One następnie traktuje aplikację „Xbox 360” jako swój własny tytuł, zezwalając na korzystanie z dodatkowych możliwości, takich jak wykonywanie screenshotów i dzielenie się fragmentami wideo. Emulacja wspiera zarówno wersje cyfrowe, jak i płyty DVD, choć dyski traktowane są po prostu jako klucz dostępu, a dane i tak trzeba pobrać przez Xbox Live.
Kompatybilność wsteczna jest obecnie częścią programu Preview na konsoli - funkcja jest nadal rozwijana i obejmuje obecnie skromną liczbę tytułów. Dodatkowo, pojawiają się doniesienia, że działają tylko dyski z Ameryki Północnej i te bez blokady regionalnej (my korzystamy z tych pierwszych). Co więcej, obecnie nie działają gry wydane na kilku płytach. Większość dostępnych pozycji to stosunkowo mało skomplikowane tytuły, które nie wymagają zbyt wiele od maszyny wirtualnej. Są jednak wyjątki od tej reguły, jak Mass Effect i Perfect Dark Zero. Sprawdziliśmy kilka tytułów, by zbadać możliwości nowej funkcji Xbox One.
Od razu widać, że jakość obrazu naśladuje standardowe 1080p z X360, z kilkoma małymi różnicami. Na sprzęcie nowej generacji nieco wyższy jest kontrast, dodano też drobny efekt wyostrzający krawędzie obiektów. Na szczęście zmiany te widać tylko przy bezpośrednim porównaniu dwóch screenów i nie przeszkadzają w graniu na Xbox One. W odróżnieniu od emulacji gier z pierwszego Xboksa na X360, nie ma tutaj dodatkowych opcji graficznych - i prawdopodobnie nigdy się nie pojawią.
Nie oznacza to jednak, że niemożliwe jest wprowadzenie innych zmian i usprawnień. Na przykład, produkcje przeniesione z X360 na Xbox One całkowicie pozbawione są tearingu. Tytuły, które wcześniej zmagały się z tym problemem, teraz działają z włączoną synchronizacją pionową. Brzmi świetnie na papierze, ale taki dodatek ma swoje konsekwencje w postaci mniejszej liczby klatek na sekundę. Aby lepiej zrozumieć słabe i mocne strony wirtualnej maszyny, zacznijmy od porównawczych screenów (powyżej), zanim przejdziemy do dokładniejszej analizy poszczególnych gier.
Mass Effect
Przy tak ograniczonej liczbie dostępnych obecnie tytułów, nic dziwnego, że do demonstracji na scenie wybrano właśnie Mass Effect. To jedyna pozycja na liście bazująca na Unreal Engine 3 i byliśmy ciekawi, jak ten popularny silnik sprawdzi się w środowisku wirtualnym, zwłaszcza biorąc pod uwagę duże obciążenia CPU w pierwszych wersjach tej technologii. Jako wczesna gra na X360, Mass Effect cierpiała na mocny tearing, widoczne doczytywanie tekstur i poważne problemy z płynnością - wszystkie te elementy poprawiono w kolejnych odsłonach. Rezultaty na Xbox One są bardzo interesujące i raczej niespodziewane.
Pozytywne kwestie to poprawa czasów ładowania poziomów i tekstur. Dane często wczytywane są o kilka sekund szybciej niż na X360, a tekstury pojawiają się na obiektach dużo szybciej. Zauważyliśmy także subtelne zmiany w oświetleniu postaci i w wykorzystaniu pewnych efektów. Przykładem jest zastosowanie przezroczystości w przerywniku otwierającym, wyświetlone na Xbox One inaczej niż w oryginale.
Dalej mamy wydajność i tutaj robi się ciekawie. Wstępne wrażenia są pozytywne, a liczba klatek na sekundę na Xbox One zanotowała wzrosty w przerywnikach filmowych. Jak wspomnieliśmy wcześniej, emulator wymusza synchronizację pionową we wszystkich tytułach z X360, eliminując tearing. Na Xboksie 360 gra korzystała z dynamicznej synchronizacji, wprowadzającej tearing, gdy silnik nie zdoła wygenerować kolejnej klatki w 33 ms. Wyeliminowanie tego problemu brzmi świetnie w teorii, ale po przejściu do rozgrywki widać konsekwencje takiego rozwiązania.
Obecnie, podczas eksploracji i walki, gra działa nawet o 30 procent wolniej na Xbox One, z różnicami na poziomie 5-10 FPS w losowych momentach. Działanie Mass Effect już na X360 nie było najlepsze, a teraz niemal uniemożliwia zabawę. Podczas wybuchowej sekwencji na pokładzie pociągu w pierwszej misji notujemy spadki nawet do poziomu 10 FPS. Wydaje nam się, że winne jest tutaj wymuszenie synchronizacji pionowej, ale przyczyną mogą być też problemy z obciążeniem CPU, zauważalne w wielu wczesnych produkcjach na Unreal Engine 3. Ciekawie będzie obserwować, jak wirtualna maszyna rozwinie się w nadchodzących miesiącach i jak zadziałają inne tytuły UE3, ale obecnie nie jest to miejsce na grę w Mass Effect.
Status: niska wydajność, miejscami niemal uniemożliwiająca rozgrywkę.
N+
Jeden z najstarszych tytułów w Xbox Live Arcade - na dobrą sprawę konwersja wyprodukowanej w technologii Flash, cenionej gry z PC. Zabawa nadal jest przednia, czyniąc z gry wartościową pozycję na liście wstecznej kompatybilności. Co zaskakujące, to także tytuł z najbardziej zagadkowymi problemami z płynnością. Na X360 mamy absolutnie stałe 60 FPS - od menu do napisów końcowych. Na Xbox One jest jednak inaczej. Podczas rozgrywki notujemy niemal bezustanne zacinanie, namacalnie wpływające na zabawę. Co bardziej zagadkowe, ma to wpływ na około połowę testowanych poziomów oraz na menu główne - na niektórych planszach jest idealnie. W N+ wyraźnie widać także zmieniony kontrast i wyostrzenie krawędzi. Poza tym grafika jest identyczna.
Status: problemy z płynnością.
Perfect Dark Zero
Perfect Dark Zero - sequel, który nie dorównał oryginałowi - to drugi tytuł startowy na X360 od studia Rare. Mówiąc wprost, ta gra zawsze miała problemy: mało klatek na sekundę, niska rozdzielczość 1152×640 bez wygładzania krawędzi, a także okropny styl grafiki. Pomimo tego, jak na tytuł z 2005 roku, oferowała całkiem sporo zaawansowanych opcji, takich jak parallax occlusion, wysokiej jakości rozmycie obiektów i całkiem imponujące oświetlenie (jedno z pierwszych zastosowań deferred lighting - cieniowania powierzchniowego na X360). Dobra wiadomość jest taka, że wszystkie te elementy oprawy zachowały się na Xbox One.
Podobnie jak w Mass Effect, Xbox One wymusza synchronizację pionową, usuwając tearing. To korzystna zmiana, biorąc pod uwagę jakim problemem były przesunięte klatki obrazu na starszej konsoli. Niestety, zgodnie z przykładem Mass Effect, wynikiem jest mniej klatek na sekundę. Średnia różnica to jakieś 4-6 FPS podczas bardziej wymagających sekwencji, ale tearing w oryginale był tak irytujący, że jego usunięcie jest mile widziane nawet przy takim koszcie, a ogólna stabilność jest lepsza na Xbox One. Mamy nadzieję, że emulację uda się jeszcze dopracować, by możliwe było otrzymanie synchronizacji pionowej i stałej liczby FPS - takie połączenie na pewno odmieniłoby wiele starszych tytułów.
Status: niższa wydajność, ale ogólne wrażenia są lepsze niż na X360.
Kompatybilność wsteczna na Xbox One - pierwsze wrażenia
Przeniesienie biblioteki tytułów X360 na Xbox One to ogromne osiągnięcie techniczne. Nie mogliśmy nie zastanawiać się nad tym, jak inżynierowie Microsoftu tego dokonali. Najpierw podejrzewaliśmy, że ważne było stosowanie bibliotek DirectX 9 na konsoli, co na pewno ułatwiło przeniesienie instrukcji GPU ze starszej na obecną generację (ale tym samym rodzi się pytanie, co będzie dalej, z grami, które w większym stopniu modyfikowały DirectX 9, by działać bliżej samego sprzętu).
Wirtualizacja CPU jest jeszcze bardziej interesująca - zamiana trzyrdzeniowego 3,2 GHz PowerPC na sześciordzeniowy 1,75 GHz to ogromne wyzwanie. Jak rozumiemy, procesor X360 ma dwa wątki na rdzeń, a wątkowanie rozwiązano w stosunkowo prymitywny sposób, więc całość działa na dobrą sprawę jak sześć wątków 1,6 GHz. Jeśli mamy zgadywać, to stawiamy, że wirtualna maszyna przypisuje jeden wątek na jeden rdzeń x86. Miejmy nadzieję, że Microsoft podzieli się wkrótce szczegółami na temat swojego technologicznego cudu.
Obecnie przyznać trzeba po prostu, ze wirtualna maszyna działa, co samo w sobie jest oszałamiającym osiągnięciem. Pomimo tego, nie można zapominać o problemach. Zwłaszcza przykład Mass Effect każe się zastanawiać, czy wirtualizacja CPU jest tak szybka, jak powinna. Na pewno pozostało jeszcze sporo pracy, ale inżynierowie z Microsoftu mają jeszcze kilka miesięcy do premiery tej funkcji. Nawet biorąc pod uwagę minusy, obecne możliwości maszyny wirtualnej są nadzwyczajne. Kilka momentów, w których wydajność jest lepsza niż na X360 daje nam nadzieję, że w przyszłości te chwile mogą pojawiać się częściej, w większej liczbie tytułów. Nie wiemy oczywiście, ile jeszcze można poprawić, ale na pewno będziemy uważnie śledzić wszelkie postępy.