Skip to main content

Digital Foundry kontra filtrowanie tekstur na konsolach

Skąd te problemy?

Nie da się ukryć, że konsole obecnej generacji - PlayStation 4 i Xbox One - mają problem negatywnie wpływający na jakość obrazu. Żyjemy w epoce 1080p, z coraz większą liczbą detali w nowych grach, ale jedna podstawowa funkcja jest często pomijana - filtrowanie tekstur. W Grand Theft Auto 5 czy Metal Gear Solid 5, obie konsole nie dorównują pod tym względem PC na średnich ustawieniach. Tekstury stają się przez to rozmyte, co wpływa na odbiór całości.

Nasze analizy wskazują, że najgorzej wypada PS4. Wiele produkcji na sprzęt Sony to lepsza rozdzielczość i liczba klatek na sekundę, ale już filtrowanie - jak w Dishonored: Definitive Edition - jest wyższe u rywala. To częsty kłopot, a efekt słabszego wygładzania jest wyraźnie zauważalny, rozmywając przygotowane przez deweloperów powierzchnie. Część twórców reaguje po premierze. Ninja Theory wprowadziło wysokie „filtrowanie anizotropowe” w Devil May Cry na PS4 za pomocą łatki, co znacznie poprawiło tekstury podłoża. Podobnie było w przypadku polskiego Dying Light. Kolejne premiery udowadniają jednak, że trend nie zamierza zniknąć.

Ale dlaczego? Czy to na pewno wina sprzętu, skoro lepsze filtrowanie można wprowadzić bez większych problemów za pomocą łatki, jak pokazało Devil May Cry? A może problemem jest ujednolicona pamięć PlayStation 4 i Xbox One, czyli podłączenie CPU i GPU do tych samych zasobów? Zwróciliśmy się do kilku deweloperów w poszukiwaniu odpowiedzi, a odpowiedzi były często intrygujące. To interesująca sytuacja, jeśli weźmiemy pod uwagę, że wysokie ustawienia filtrowania rzadko obciążają słabsze nawet karty graficzne na PC.

Marco Thrush, szef ds. technologii i właściciel Bluepoint Games (słynącego ze świetnego Uncharted: Kolekcja Nathana Drake'a) oferuje kilka wskazówek. Gry na konsolach PlayStation 4 i Xbox One dzielą wiele rozwiązań z współczesną architekturą PC - w większym stopniu niż w poprzednich generacjach - ale bezpośrednie porównania nie są zawsze stosowne. Na potrzeby konsol zintegrowano układy CPU i GPU, dając obu komponentom dostęp do całej puli pamięci. Takie rozwiązanie ma oczywiście swoje korzyści, ale wiążą się z nim także wyzwania.

- Zakres filtrowania ma duży wpływ na wydajność pamięci. Na PC zazwyczaj dostępne są spore zasoby przepustowości pamięci, ponieważ jest ona całkowicie odizolowana od karty graficznej - wyjaśnił menedżer. - Konsole stawiają na architekturę współdzielonej pamięci, gdzie tak nie jest, ale korzyści ze wspólnej pamięci i tak znacznie przewyższają minusy.

Ten slajd z prezentacji Sony pokazuje, że względnie wysoka przepustowość PS4 ma pewne problemy z dostępem do pamięci, gdy CPU i GPU „rywalizują” o zasoby

Dzięki współdzielonej pamięci, PlayStation 4 i Xbox One mogą wykonywać polecenia równocześnie, bez przekazywanie danych przez dodatkowe interfejsy, co zwiększa opóźnienia. Połączenie CPU i GPU do jednej puli daje też deweloperom możliwość lepszego jej wykorzystania.

Jednak jeszcze przed premierą PS4, Sony sugerowało w wewnętrznej prezentacji, że minusem jest „walka” o RAM przez oba te układy. Nawet w obliczu posiadania 8 GB szybkiego GDDR5, slajd pokazywał, jak przepustowość wykorzystywana przez CPU wpływa na wydajność GPU - i vice versa. Jak dowiedzieliśmy się przy okazji badania konwersji The Crew na PS4, układ graficzny ma szybszy interfejs pamięci 176 GB/s o nazwie Garlic (ang. czosnek), podczas gdy procesor dysponuje interfejsem Onion (ang. cebula) z transmisją danych na poziomie 20 GB/s. Nawet pomimo tego podziału twórcy muszą zadbać o odpowiedni balans przy tworzeniu gier.

Temat poruszył też Andrzej Poznański, jeden z deweloperów odpowiedzialnych za konwersję Zaginięcia Ethana Cartera na PlayStation 4. Jak przyznał, produkcje w większym stopniu obciążające procesor mogą mieć problemy z przepustowością układu graficznego, odpowiedzialnego na przykład za filtrowanie tekstur.

- Używamy wysokiego filtrowania tekstur, ale trzeba oddać innym deweloperom, że nie wykorzystujemy mocy obliczeniowych na sztuczną inteligencję, destrukcję otoczenia czy cieniowanie broni - mówił. - Oprawa naszej gry pochłonęła mnóstwo pracy i nie chcę umniejszać tego faktu, ale wydaje mi się, że mieliśmy więcej miejsca na taką grafikę niż niektóre inne tytuły.

Tymczasem w przypadku PC proces filtrowania odbywa się w ramach zasobów pamięci dedykowanych karcie graficznej, całkowicie niezależnie od operacji procesora - większość gier może więc przejść z rozmytego filtrowania bilinearnego na anizotropowe 16x AF kosztem 1-2 FPS. Ale co, jeśli weźmiemy pod uwagę dostępne także na komputerach układy APU, integrujące CPU i GPU? Postanowiliśmy to sprawdzić, mając nadzieję na odtworzenie problemów rodem z konsol. Na tapetę wzięliśmy jedno z APU od AMD, słabsze od odpowiedników w konsolach.

Włączamy więc nasz testowy PC z układem A10-7800 od AMD. Do tego 8 GB pamięci DDR3 2400 MHz. Nie instalujemy żadnej innej karty graficznej, więc APU musi dzielić pamięć na CPU i GPU, które powinny „rywalizować” o dostępną przepustowość. Jeśli właśnie to jest problemem, to efekt powinien być prosty do zauważenia, ponieważ standardowej pamięci GDDR 3 daleko do możliwości GDDR 5 z PlayStation 4 czy dedykowanych zasobów 32MB ESRAM na Xbox One.

PlayStation 4
Xbox One
PC
Filtrowanie tekstur na przykładzie Metal Gear Solid 5: The Phantom Pain. Jak widać na piaszczystej ścieżce, jakość jest znacznie niższa na konsolach w porównaniu z wysokimi ustawieniami z PC. Tymczasem na komputerach wpływ na wydajność jest minimalny.
PlayStation 4
Xbox One
PC
Tutaj przykładem jest brukowany podjazd oraz trawa po lewej. Ponownie na konsolach jest gorzej niż na PC z włączonym 16x AF.
PlayStation 4
Xbox One
PC
Payday 2: Crimewave Edition udaje się dorównać PC, co widać na nawierzchni drogi. Mowa jednak tylko o Xbox One - na PS4 asfalt jest rozmyty i niewyraźny.
PlayStation 4
Xbox One
PC
Dishonored: Definitive Edition to kolejny przykład, gdzie PlayStation 4 odstaje od Xbox One i PC.
PlayStation 4
Xbox One
Tony Hawk's Pro Skater 5 nie oferuje wersji PC do porównania, ale problem istnieje - ponownie w większym stopniu na sprzęcie Sony.

Zwiększenie opcji wygładzania powinno więc teoretycznie przekładać się na coraz gorszą wydajność, ale nic takiego nie notujemy. Jak widać w poniższej tabeli, wartości FPS w Tomb Raider i Grand Theft Auto 5 nie zmieniają się bardziej niż o klatkę przy przejściu od najniższego filtrowania do anizotropowego 16x AF. Ogólne efekty są słabe, nawet na średnich detalach, ale akurat to nie ma większego wpływu na wydajność.

Pewny spadek na pewno jest zauważalny po przełączeniu na najwyższe filtrowanie, nawet jeśli jest marginalny. Widać to także w Project Cars i w Cieniu Mordoru. Zmiany nie są jednak tak mocne, jak oczekiwaliśmy przed testem. Trudno więc rekomendować zrezygnowanie z 16x czy 8x AF, zwłaszcza, że ustawienia te mają znaczący wpływ na jakość obrazu w rozdzielczości 1080p, generując wyraźne tekstury przed kamerą czy postacią.

Wygląda więc na to, że jeśli kłopoty z przepustowością pamięci są źródłem problemu na konsolach, to tych samych warunków nie można odtworzyć na PC. Pod tym względem tajniki działania PlayStation 4 i Xbox One są jeszcze tajemnicą.

AMD A10 7800 APU/8 GB 2400 MHz DDR3 Naniższa opcja filtrowania 16x Filtrowanie Anizotropowe
Grand Theft Auto 5, normalne ustawiania, 1080p 32,3 (bez filtrowania) 32,11
Tomb Raider, niskie ustawiania, 1080p 42,6 (bilinearne) 42,0
Tomb Raider, średnie ustawiania, 1080p 30,4 (bilinearne) 29,2
Project Cars, niskie ustawiania, 1080p 27,0 (trilinearne) 27,0
Cień Mordoru, niskie ustawiania, 1080p 27,0 (2x AF) 26,7

Ostatecznie zostajemy z pytaniami. Twórcy ujawniają, dlaczego filtrowanie może być problemem, ale nie wiemy na przykład, dlaczego Xbox One często spisuje się pod tym względem lepiej (choć oczywiście nie zawsze) pomimo posiadania słabszego GPU. Jeden z deweloperów wskazuje na rozdzielczość: 1080p nie zawsze jest standardem i to właśnie na sprzęcie Microsoftu częściej widzimy skalowanie - zazwyczaj z 900p. Tak właśnie jest w przypadku Evolve i Project Cars, gdzie - chyba nieprzypadkowo - Xbox One dysponuje lepszym filtrowaniem niż PlayStation 4.

- Gry stawiają zazwyczaj na 1080p na PS4 oraz 900p na Xbox One - mówi nasz rozmówca. - Filtrowanie anizotropowe jest bardzo wymagające, więc to prosta opcja do porzucenia na PlayStation 4 (ze względu na wyższą rozdzielczość), by zyskać na wydajności, ponieważ niewiele tytułów potrafi utrzymać AF przy 1080p. Xbox One działa często w niższej rozdzielczości i może wykorzystać zwolnione zasoby GPU na wymagające wygładzanie i poprawę obrazu.

Teoria ta ma zastosowanie w części gier, ale nie we wszystkich, jak choćby Tony Hawk's Pro Skater 5, Strider, PayDay 2: Crimewave Edition czy Dishonored: Definitive Edition. W tych czterech przypadkach obie konsole generują obraz w natywnym 1920×1080, ale Xbox One dysponuje lepszym filtrowaniem.

Swoją opinię zaoferował także Krzysztof Narkowicz, czyli główny programista w studiu Flying Wild Hog, odpowiedzialnym między innymi za strzelanki Shadow Warrior. Deweloper zauważył, że trudno jest określić wpływ filtrowania anizotropowego bez używania zestawu deweloperskiego konsoli, a metoda ta zmniejsza wydajność w zależności od gry czy nawet sceny.

„Nie chodzi o ujednoliconą pamięć i na pewno nie chodzi też o sztuczną inteligencję czy rozgrywkę, a o różne kompromisy. Wydając grę na konsolach celujemy w dokładnie 30 lub 60 klatek i dostosowujemy wszystkie opcje, by uzyskać najlepszy stosunek jakości i wydajności” - wyjaśnia Narkowicz. Różnica między 8x i 16x AF jest niezauważalna podczas normalnej rozgrywki, gdy kamera dynamicznie się porusza.”

„4x AF zazwyczaj oferuje najlepszy stosunek jakości i wydajności, czyli całkiem dobre filtrowanie i zaoszczędzone zasoby na inne opcje. W niektórych przypadkach (jak przy tworzeniu konwersji bez zmiany zawartości) może okazać się, że na końcu mamy jeszcze wolne zasoby w GPU. Można je wykorzystać na przykład przez zwiększenie AF. Stosownie innych poziomów AF na różnych powierzchniach to raczej standardowe podejście. Ponownie chodzi o stosunek jakości do wydajności i zachowanie mocy obliczeniowych na ważniejsze opcje (jak solidne 30 FPS).

Narkowicz wspomniał także, dlaczego wersje konsolowe różnią się często poziomami filtrowania tekstur.

„Oprogramowanie deweloperskie Microsoftu i Sony to dwa różne światy. Microsoft koncentruje się bardziej na przyjaznym podejściu dla deweloperów i korzysta ze znanych bibliotek, jak DX11 czy DX12. Sony jest mniej »przyjazne« i stawia na bliski kontakt ze sprzętem. Na początku generacji, gdy dokumentacja ma jeszcze braki, łatwiej jest popełnić błąd na nieznanej konsoli. Teraz deweloperzy mają więcej doświadczenia i świetną dokumentację.”

Wygląda na to, że na wyjaśnienie takiego podziału musimy jeszcze poczekać. Wiemy już jednak nieco więcej: jednolita pamięć ma zalety na konsolach, ale jej przepustowość ma większych wpływ na filtrowanie niż oczekiwaliśmy. PlayStation 4 i Xbox One mają sporo wspólnego z architekturą PC, ale ich projekt nadal różni się znacząco od komputerów i wszystkie jego tajniki nie zostały jeszcze w pełni wyjaśnione. Wypowiedzi deweloperów pomagają, ale kompletna odpowiedź jest poza naszym zasięgiem - przynajmniej na razie.

Zobacz także