Uncharted ruszyło na emulatorze PlayStation 3: to naprawdę trudny sprzęt

Uncharted ruszyło na emulatorze PlayStation 3: to naprawdę trudny sprzęt05.12.2017 15:59

Kiedy ostatni raz zaglądaliśmy do tego, co dzieje się z RPCS3,emulatorem PlayStation 3, jego deweloperzy popisywali sięmożliwością grania w wiele gier w rozdzielczości4K. Wciąż jednak liczba wspieranych tytułów była raczejograniczona, wciąż też pojawiały się problemy z poprawnymrysowaniem klatek. Nie minęły dwa miesiące, a RPCS3 robi kolejnywielki krok naprzód. Ulepszenia emulatora otwierają drogę douruchamiania słynnych gier AAA, na czele ze słynnym Uncharted.

Architektura PlayStation 3 jest piekielnie skomplikowana, pierwszyz rozwiązanych problemów przypomina nam, jak bardzo. Jego procesor,układ Cell Broadband Engine, zawiera oprócz wielowątkowego rdzeniaw architekturze Power – Power Processing Element (PPE) – takżeosiem koprocesorów Synergistic Processing Element (SPE). PPE, SPE ielementy wejścia/wyjścia połączone są szybką magistraląElement Interconnect Bus (EIB).

Aby zapewnić swoją legendarną (jak na poprzednią dekadęoczywiście) moc obliczeniową, Cell łączy SPE i PPE przez EIB,dając im bezpośredni dostęp do pamięci operacyjnej i masowej(cache coherent DMA). Wszystkie jednostki obliczeniowe, zarówno PPEjak i SPE, mają swoje własne silniki DMA. Dla SPE jest to jednakjedyny sposób na dostęp do pamięci operacyjnej, ponieważ jegowłasne instrukcje mają dostęp wyłącznie do maleńkiego (256 KB)obszaru lokalnej pamięci LS. Transferami do i z LS zarządzakontroler Memory Flow (MFC), który nie tylko obsługuje kolejkę,ale też potrafi kontrolować typ transferu, a nawet na żądanie SPEblokować pewne transfery, zmieniając ich kolejność.

Do tej pory wirtualne MFC w emulatorze RPCS3 pozwalało jedynie nadziałanie w kolejności. Wprowadzone w nowej wersji przez deweloperaJarvesa zmiany pozwalają na wykrycie tych specjalnych żądań SPU,by możliwe stało się działanie poza kolejnością. W efekcieuzyskaliśmy bardziej dokładne MFC – i w konsekwencji rozwiązanieproblemu wielu losowych awarii, które do tej pory trapiły emulator.

RPCS3 - God of War, Uncharted, LittleBigPlanet, Gran Turismo, Infamous and More

Druga ze zmian Jarvesa (choć wprowadzona jako pierwsza) dotyczysytuacji, w której gra nie ulega awarii, ale po prostu staje. Jesttak jakby nagle emulator zamroziło, mimo że licznik FPS-ów wciążpokazuje zmiany na czarnym ekranie. W debugerze widać, że bez końcaodtwarzany jest ten sam fragment kodu, zarówno w SPU i PPU. Okazujesię, że niektóre gry pod adresem 0 w wątku SPU zawierająrozgałęzienia – po wykryciu pewnych specyficznych warunków SPUporzuca aktualnie przetwarzany kod i skacze gdzie indziej. Do tejpory emulator po prostu źle sprawdzał warunek wykonania skoku. Popoprawce zapętlenia przestały być problemem.

Równie interesujące zmiany wprowadzono po stronie emulacjiukładu graficznego RSX. Gdy udało się uruchomić kolejne grydzięki zmianom wprowadzonym dla SPU, symulowane GPU spotkało się zbardziej skomplikowanymi technikami graficznymi. Deweloper kd-11poradził sobie z artefaktami w grze Dark Souls 2 w potoku HDR(nietypowe manipulacje shaderami), brakiem cieni (rysowanie kolorowejtekstury zamiast tekstury głębi wskutek problemów z aliasami celówrenderowania), prześwitywaniem płomieni przez ściany (grazapisywała coś jako bufory koloru w RGBA, a potem zamieniała je nabufory głębi) i samą głębią (tylko 8-bitowa precyzja).

Naprawianie tych błędów otwierało drogę do uruchamianiakolejnych gier, gdzie już tylko pomniejsze usterki występowały. Wten sposób oprócz Dark Souls 2 usunięto ostatnie błędy z God ofWar: HD Collection i Demon’s Soul, udało się uruchomić Unchartedoraz Ratchet & Clank, a nawet God of War 3, grę stosującąmnóstwo trików by umożliwić skalowanie na zmiennoprzecinkowychteksturach – coś niemożliwego na sprzęcie z czasów DirectX 9.

W tym tempie można się spodziewać, że jeszcze tej zimyzobaczymy, jak na RPCS3 ruszają tak słynne tytuły jak The Last ofUs czy Killzone 3. Nie byłoby to możliwe bez pieniędzy – napracę deweloperów składa się obecnie 726patronów, wpłacających co miesiąc na ich konto łącznie 3370dolarów.

Póki co najnowszą wersję emulatora RPCS3, 0.0.4, znajdziecie wnaszej bazieoprogramowania na Windowsa. Dostępna jest też wersja naLinuksa, przygotowana w postaci paczkiAppImage.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.