Digital Foundry kontra architekci Xbox One

„O naszej konsoli krąży wiele błędnych informacji, ludzie nie rozumieją pewnych rzeczy. Jesteśmy z niej bardzo dumni.”

Na premierę konsol nowej generacji przyjdzie nam zaczekać jeszcze dwa miesiące, ale wiele osób już teraz wie, która platforma okaże się potężniejsza - a przecież nawet jeden tytuł nie ujrzał jeszcze światła dziennego. Jeśli zestawić po prostu specyfikację techniczną obu konsol, sytuacja wydaje się jasna - PlayStation 4 zdobywa tak znaczącą przewagę nad Xbox One, że jakakolwiek dyskusja na temat zalet obu konsol traci rację bytu. Obie wykorzystują technologię AMD, tyle że Sony dorzuca do tego szybszą pamięć i znacznie większy czip grafiki. Ale czy naprawdę znamy całą prawdę?

W następstwie pojawienia się pochodzących z niesprecyzowanych źródeł opowieści o znaczącej przewadze PS4 nad Xbox One, Microsoft zdecydował się rozjaśnić sytuację. W ubiegły wtorek Digital Foundry przeprowadziło telekonferencję z dwoma czołowymi architektami Xbox One. To pełni pasji inżynierowie, którzy postanowili wykorzystać nadarzającą się okazję, by w naszej rozmowie odnieść się do wszystkich kontrowersji. Po kilku minutach stało się jasne, że tematem przewodnim będzie równowaga.

- Żeby zaprojektować dobrą, zrównoważoną konsolę trzeba mocno przemyśleć zależność między sprzętem i oprogramowaniem. Połączenie jednego z drugim w odpowiedni sposób przekłada się na wydajność - wyjaśnia nam Andrew Goossen z Microsoftu.

- Bardzo się cieszymy z tej rozmowy. O naszej konsoli krąży wiele błędnych informacji, ludzie nie rozumieją pewnych rzeczy. A, prawdę mówiąc, to jesteśmy bardzo dumni ze swojej pracy. Sądzę, że przy zachowaniu równowagi w architekturze udało nam się osiągnąć wysoką wydajność i stworzyliśmy produkt, który radzi sobie nie tylko z czystym ALU [mocą obliczeniową GPU - przyp. red.]. W grę wchodzą też inne aspekty i wymogi - jak latencja, stała płynność animacji, fakt, że system nie kłóci się z grami itp. Przekonacie się, że właśnie te cele przyświecały nam podczas projektowania konsoli.

- Andrew świetnie to ujął: naszym celem było stworzenie potężnego i wydajnego systemu - dodaje Nick Baker, menedżer zespołu odpowiadającego za architekturę Xbox One. - Chcieliśmy wpasować go do współczesnego pokoju telewizyjnego. A skoro już mówimy o systemach audiowizualnych, to warto podkreślić, że tylko my wyposażyliśmy swój sprzęt w wejście i wyjście AV, które czynią z Xbox One prawdziwe centrum rozrywki.

Wiemy już, że menu Xbox One i jego funkcje multimedialne prezentują się naprawdę fajnie, ale najważniejsze są gry. Nie będzie przesadą stwierdzenie, że największe kontrowersje wzbudziły dwie kwestie związane z architekturą Xbox One, sprawiające, że sprzęt Microsoftu wydaje się słabszy od PlayStation 4.

Chodzi o pamięć i GPU. Oba systemy wyposażono w 8GB RAM-u, tyle że Sony zdecydowało się wykorzystać 8GB szybkiego GDDR5 o przepustowości 176GB/s, zaś Microsoft - DDR3 o znacznie niższej maksymalnej przepustowości 68GB/s. Z pomocą przychodzi jednak ESRAM, który pozwala uzyskać wydajność na poziomie 204GB/s. Teoretycznie, dzielenie zasobów między dwie pule pamięci może mieć wpływ na wydajność sprzętu, ale w Xbox One zastosowano oryginalne podejście do problemu.

wired
Dopóki nie dostaniemy w swojej ręce finalnej wersji konsoli musimy pocieszyć się opublikowanymi przez Wired zdjęciami płyty ze wstępnego etapu produkcji. Siewcy sensacji dostrzegą z pewnością brak oddzielnego GPU - nie ma co liczyć na nagły zastrzyk mocy obliczeniowej. Wszystkie główne systemy Xbox One umieszczono na jednym chipie po prawej. Otaczają go moduły pamięci DDR3 2133MHz.

Jedna z największych różnic w architekturze obu systemów dotyczy pamięci. Pytanie brzmi: skoro GDDR5 jest lepszym wyborem, to dlaczego również Microsoft nie poszedł w tym kierunku? Firma nie narzeka na brak gotówki i inwestycja w GDDR5 nie nadszarpnęłaby jej budżetu. Zastanawialiśmy się, czy nasze domysły, co do powodu podjęcia takiej decyzji, były trafne - czy opcję wykorzystania RAM-u o wyższej przepustowości odrzucono już na samym początku prac nad systemem? A jeśli tak, to dlaczego?

- Tak, tak to chyba wyglądało. Gdy w grę wchodzi najlepsze połączenie wydajności, objętości pamięci i mocy, GDDR5 nie jest najlepszą dostępną opcją - wyjaśnia nam Nick Baker. - ESRAM zabiera niewiele mocy konsoli, dając w zamian dużą przepustowość. Można przyciąć przepustowość pamięci zewnętrznej - i w ten sposób ograniczyć zużycie energii, a pamięć jest tańsza, czyli można jej kupić więcej. Właśnie o to nam chodziło... Jeśli zależy nam na wydajności pamięci, niskim zużyciu energii i dużej przepustowości, to nie mamy zbyt wielu opcji do wyboru.

Tajemnica dodanych przepustowości

Baker chętnie odpowiada na wątpliwości dotyczące pul pamięci ESRAM-u i DDR3 - jakoby system nie mógł korzystać z nich równocześnie. Krytycy Xboxa One twierdzą, że architekci konsoli dodali do siebie obie przepustowości, by sztucznie zwiększyć wynik, i że taki scenariusz nie jest możliwy do realizacji.

- Wyobraźcie sobie, że ESRAM i DDR3 to osiem kontrolerów pamięci, tak że mamy cztery kontrolery zewnętrzne (64-bitowe) przypisane do DDR3 i cztery wewnętrzne, 256-bitowe, przypisane do ESRAM-u. Wszystkie łączą się ze sobą przez przełącznicę, która daje nam bezpośredni, jednoczesny dostęp do DRAM-u i ESRAM-u - wyjaśnia.

Kontrowersje wokół ESRAM-u zaskoczyły architektów konsoli. Zespołowi, który pracował nad Xboksem 360 niełatwo uwierzyć w tezę, że Xbox One może sprawiać trudności deweloperom. W końcu poprzednia konsola Microsoftu była najłatwiejszą, jeśli chodzi o produkcję gier, szczególnie w pierwszych latach obecnej generacji.

- Takie podejrzenia to dla mnie spore zaskoczenie, zwłaszcza jeśli spojrzymy na ESRAM jak na rozwinięcie idei eDRAM-u z Xboksa 360. Wtedy nikt nie kwestionował, czy możemy połączyć przepustowość eDRAM-u z przepustowością pamięci systemowej. Co więcej, architektura systemu wręcz tego wymagała - wyjaśnia Andrew Goossen.

- Musieliśmy przesunąć na boczny tor wszystkie bufory wierzchołków i tekstury z pamięci urządzenia, równolegle pracując z renderami, kolorami, głębią i buforami szablonowymi w eDRAM-ie. ESRAM w Xbox One przypomina eDRAM z Xboksa 360, umożliwiając pamięciom jednoczesne działanie. To ewolucyjne rozwinięcie idei z Xboksa 360, dzięki któremu eliminujemy ograniczenia eDRAM-u.

- Xbox 360 był platformą najłatwiejszą w programowaniu i nasi deweloperzy nie mieli większych problemów z wykorzystaniem eDRAM-u, ale często żałowaliśmy, że trzeba tam było upchnąć cały obiekt docelowy renderowania. Dlatego w Xbox One, na którym możemy przesuwać dane z ESRAM-u do DDR3, właśnie ESRAM jest w pełni zintegrowany w tablicach stron pamięci, co pozwala dowolnie łączyć ESRAM z pamięcią DDR... Ja to postrzegam jako ewolucję i postęp - duży postęp - względem architektury Xboksa 360. Prawdę mówiąc, to jestem niejako zdziwiony wątpliwościami krążącymi wokół systemu.

„Xbox 360 był platformą najłatwiejszą w programowaniu i nasi deweloperzy nie mieli większych problemów z wykorzystaniem eDRAM-u.”

I rzeczywiście, koherencja między ESRAM-em i pulami pamięci DDR3 sprawia wrażenie znacznie bardziej elastycznej niż pierwotnie zakładaliśmy. Wiele osób przekonywało, że 32MB ESRAM-u to za mało dla obiektów docelowych renderowania. A to w naturalny sposób prowadzi nas do pytania: czy deweloperzy naprawdę mogą wykorzystać ESRAM w sposób, jaki zasugerował Goossen?

- Jak najbardziej. Gdy jakieś elementy obiektu docelowego są w minimalnym stopniu nadpisane - nadpisanie zaś oznacza, że piksel na ekranie pojawia się więcej niż raz, na przykład, gdy jakaś gra wyścigowa ma niski poziom nadpisania - to możesz upchnąć podzbiory dostępnych zasobów do DDR, by zwiększyć wydajność ESRAM-u - wyjaśnia, po czym dodaje, że w architekturze systemu zaimplementowano również obsługę formatów niestandardowych, by jeszcze wydajniej wykorzystać te cenne 32MB.

- Dla GPU dodaliśmy obsługę skompresowanych obiektów docelowych, choćby nasze 6e4 [6-bitowa mantysa i 4-bitowy wykładnik potęgi na każdy komponent] i 7e3 HDR zmiennoprzecinkowych [gdzie formaty 6e4], bardzo popularne na Xboksie 360, zamiast wykorzystywać 16-bitową zmiennoprzecinkową na każdy komponent 64bpp (bits per pixel) obiektu docelowego, mogą mieć teraz ekwiwalent 32-bitowy. Celem, który nam przyświecał, było zmaksymalizowanie wydajności i wykorzystania ESRAM-u.

Jak w Xbox One dwukrotnie zwiększono przepustowość ESRAM-u

Kolejne wątpliwości dotyczą nagłego skoku przepustowości ESRAM-u od początkowych 102GB/s do stanu obecnego - czyli 204GB/s. Swego czasu, bazując na przecieku informacji od dewelopera, który w kwietniu przekazał nam informację od inżynierów Microsoftu opublikowaliśmy materiał, poruszający ten problem, ale to nie przekonało „Internetu”. Krytycy argumentują, że podanych wyników nie można dodawać. W takim razie, skąd wziął się tak wyraźny skok przepustowości?

- Na samym początku ustaliliśmy specyfikację - wyjaśnia Nick Baker. - Zanim zabraliśmy się za wdrażanie szczegółów, zanim nawet mieliśmy działające prototypy, musieliśmy przedstawić założenia deweloperom, by wiedzieli, wokół czego budować swoje gry. Wtedy powiedzieliśmy im, że chcemy, aby przepustowość ESRAM-u osiągnęła minimalną wartość 102GB/s. Później skoczyła do 109GB/s [po zwiększeniu częstotliwości taktowania GPU]. Aż wreszcie, gdy zaczęliśmy wszystko implementować, okazało się, że możemy osiągnąć znacznie wyższy wynik.

Dużym zaskoczeniem okazała się informacja, że ESRAM może jednocześnie odczytywać i zapisywać dane. Część osób, opierając się na upublicznionych firmowych raportach, była przekonana, że coś takiego nie jest w ogóle możliwe.

- Mamy cztery 8-megabajtowe ścieżki, ale nie mówimy tu o sąsiadujących 8megabajtowych fragmentach pamięci ujętych w ścieżki. Każda ścieżka, czyli te 8MB, jest podzielna na osiem modułów. To powinno odpowiedzieć na pytanie, czy możemy jednocześnie zapisywać i odczytywać z pamięci - mówi Baker.

- Możemy - indywidualnych bloków składających się na cały ESRAM jest znacznie więcej, co oznacza, że można komunikować się z nimi równolegle. Oczywiście, jeśli koncentrujesz się na jednym odcinku, to nie zwiększasz przepustowości, i między innymi dlatego właśnie podczas testów osiąga ona poziom 140-150GB/s, a nie 204GB/s... To coś więcej niż cztery kości pamięci po 8MB każda. Mówimy o znacznie bardziej skomplikowanych procedurach, a efekt jest zależny od kolejności, jaką wyznaczysz. Właśnie dzięki temu możesz jednocześnie zapisywać i odczytywać. Możesz dodać przepustowość przy odczytywaniu i zapisywaniu, a do tego wszystkiego - również przepustowość zapisu i odczytu pamięci głównej. To jedno z tych błędnych przekonań, które chcieliśmy sprostować.

Goossens konkluduje:

- Jeśli interesuje nas tylko odczyt, przepustowość wyniesie 109GB/s, jeśli tylko zapis - podobnie. By przeskoczyć tę granicę, należy naprzemiennie zapisywać i odczytywać, ale jeśli przyjrzymy się, co zazwyczaj trafia do ESRAM-u - na przykład obiekty docelowe renderowania i bufory głębi - to zauważymy, że w naturalny sposób towarzyszą im instrukcje zapisu/odczytu i aktualizacje bufora głębi. Właśnie takie dane umieszczasz w ESRAM-ie i to one najwięcej skorzystają na jednoczesnym zapisie/odczycie.

To dość proste wyjaśnienie. Teoretycznie przepustowość rzędu ok. 200GB/s na Xbox One wygrywa z przepustowością PS4, plasującą się na poziomie 176GB/s. Pytanie jednak brzmi, czy 32MB szybkiego ESRAM-u nie stanie się przeszkodą dla deweloperów. Microsoft argumentuje, że twórcy gier zdążyli nabrać doświadczenia pracując z eDRAM-em Xboksa 360 - którego naturalnym rozwinięciem jest ESRAM.

Microsoft twierdzi, że wydajność gry nie rośnie liniowo wraz z dodaniem kolejnych jednostek obliczeniowych. Testujemy prawdziwość tej teorii na Radeonie 7850 2 GB i Radeonie 7870 XT 2GB. Obie karty są taktowane częstotliwością 600MHz (by wierniej oddać moc obu konsol wynikającą z ich specyfikacji). Również przepustowość pamięci jest identyczna. Test wykazał, że 50% przyrost jednostek obliczeniowych skutkuje 24% przyrostem płynności animacji.

Przepustowość pamięci to jedno, ale moc obliczeniowa to coś zupełnie innego. PlayStation 4 może się pochwalić znaczącą przewagą w liczbie jednostek obliczeniowych GPU - statystyka nie kłamie i przekłada się na wyraźny zastrzyk mocy i tak imponującego pod tym względem PS4. Andrew Goossen stwierdza, że technologia kart graficznych na obu konsolach wywodzi się z linii „Island” AMD, by po chwili odnieść się do rzekomych niedostatków mocy GPU w Xbox One.

- Podobnie jak koledzy z konkurencji, bazujemy na linii produktów z rodziny Sea Island, ale silnie przez nas zmodyfikowanej... Najważniejsza kwestia dotyczy ilości jednostek obliczeniowych (CU - Compute Units). Łatwo powiedzieć: „Hej, policzmy te jednostki i gigaflopy i w ten sposób wyłonimy zwycięzcę”. Ja zapytałbym: czym się kierujemy przy zakupie karty graficznej? Specyfikacją czy testami?

- Należy podkreślić, że nie mamy jeszcze żadnej gry na rynku. Nie widzieliście gier. Gdy już je zobaczycie, będziecie mogli porównywać wydajność. To one są ostatecznym testem. Xbox One dał nam możliwość przetestowania równowagi systemowej, do której tak usilnie dążyliśmy. To ta równowaga odgrywa kluczową rolę w walce o wydajność gry konsolowej. Nie chcesz, by przystopowało ją jakieś „wąskie gardło”.

Równowaga i wydajność w Xbox One

Microsoft chciał, by po rozpoczęciu produkcji konsoli możliwe było zwiększenie jej wydajności. Goossen określa to jako „majstrowanie pod maską” systemu. Następnie wykorzystano konkretne tytuły, by określić, jakie pole manewru mają architekci.

- Równowaga ma kluczowe znaczenie dla wydajności. Nick i jego zespół wykonali kawał świetnej roboty przy Xbox One - umożliwili nam sprawdzenie i zmodyfikowanie system pod kątem zachowania tej równowagi - zdradza nam Goossen. - Czy nasze przeprowadzone kilka lat temu analizy i symulacje dotyczące wykorzystania zasobów konsoli były trafne? Czy dokonaliśmy właściwych wyborów, które zapewnią równowagę w systemie? Wynikiem tych działań jest zwiększenie częstotliwości taktowania GPU.

- Wiedzieliśmy, że mamy jeszcze pewne pole manewru. Ale nie mieliśmy pojęcia, jak je wykorzystać, dopóki nie zaczęliśmy testować konkretnych tytułów. O ile MHz możemy podkręcić GPU? A co z CPU? - pyta Nick Baker.

- Mieliśmy pole manewru. Przy starcie konsoli to atut nie do przecenienia. Zazwyczaj przy premierze raczej zmniejszamy częstotliwość taktowania - wyjaśnia Goossen. - Mieliśmy jedną, jedyną okazję, by wybrać, który aspekt konsoli chcemy usprawnić. To wspaniałe, że mieliśmy do dyspozycji premierowe tytuły, dzięki którym podjęliśmy w pełni świadomą decyzję.

Goossen wyjawia też, że Xbox One wyposażono w dodatkowe jednostki obliczeniowe - co pokrywa się z naszymi domysłami. Obecność niewykorzystanych jednostek (w wersji sklepowej dwa CU są zdezaktywowane) pozwoliła Microsoftowi ocenić znaczenie mocy obliczeniowej względem szybkości taktowania:

- Każdy devkit Xbox One ma 14 CU. W produkcji dwie jednostki są nieaktywne, ale możemy przeprowadzić eksperyment - jeśli wykorzystalibyśmy wszystkie 14, to jaki skok wydajności by to przyniosło względem 12 CU? A co zyskalibyśmy, przyspieszając GPU? Analizując tytuły startowe - a dogłębnie przyjrzeliśmy się dużej ich liczbie - doszliśmy do wniosku, że przejście na 14 CU nie przyniesie równie wymiernych korzyści, co przyspieszenie częstotliwości taktowania o 6,6%.

Jeśli wyjdziemy z założenia, że moc obliczeniowa wzrasta równolegle do liczby dodatkowych CU, to może się wydawać, że nasza logika jest nietrafiona, ale przeprowadzone przez nas analizy - nie wspominając o testach na PC - wskazują, że jednostki obliczeniowe AMD nie gwarantują liniowego wzrostu mocy. Ma tutaj zastosowanie prawo malejących zysków.

„Mieliśmy pole manewru. Przy starcie konsoli to atut nie do przecenienia.”

- Wszyscy wiedzą z Internetu, że przeskok na 14 CU powinien nam zagwarantować co najmniej 17% wzrost wydajności - mówi. - Ale pomiary dokonane w grach - czyli tam, gdzie to ma rzeczywiste znaczenie - wykazały, że lepszą decyzją będzie zwiększenie częstotliwości zegara. Strumień instrukcji może napotkać na swojej drodze wąskie gardła, które uniemożliwią uzyskanie wysokiej wydajności, jeśli elementy architektury nie pozostają w równowadze.

- Podkręcenie zegara wpływa na wydajność GPU, podczas gdy dodanie CU wpływa na shadery i ALU (jednostki arytmetyczno-logiczne) - wtrąca Nick Baker.

- Dokładnie. Podkręcając zegar nie tylko zwiększamy wydajność ALU, ale też częstotliwość wyświetlania wierzchołków [vertex rate] i pikseli oraz, o ironio, przepustowość ESRAM-u - kończy Goossen.

- Ale częstotliwość zwiększamy też tam, gdzie natykamy się na wąskie gardła, na przykład przy przesyle przez strumień instrukcji danych dotyczących liczby obiektów wyświetlanych na ekranie, odczycie GPR (general purpose register) z puli itp. GPU są nieprawdopodobnie skomplikowane. W strumieniu instrukcji jest masa miejsc, które mogą zamienić się w wąskie gardła; te problemy nie dotyczą jedynie ALU i wydajności.

Moc obliczeniowa GPU i znaczenie CPU

Goossen uważa, że dokumentacja Sony opublikowana na VGLeaks potwierdza teorie Microsoftu.

- Sony wyszło z tego samego założenia. Stwierdzili, że ich system zaprojektowano z myślą o 14 CU. Użyli nawet terminu równowaga. Równowaga ma ogromne znaczenie dla faktycznej wydajności. Ich dodatkowe cztery CU wpływają w istotny sposób na działanie GPGPU. My obraliśmy inną ścieżkę. Nasze eksperymenty wykazały, że CU również pozostawiają nam pewne pole do manewru. By zapewnić równowagę, postaraliśmy się i na tym polu zyskać pewien zapas. Z czasem tytuły dostępne na platformie będą mogły w większym stopniu wykorzystać CU.

Podejście Microsoftu do asynchronicznych obliczeń w GPU różni się od założeń, jakie przyjęło Sony - ale do tego jeszcze wrócimy. Ogólnie rzecz biorąc, zamiast koncentrować się na czystej mocy obliczeniowej, Microsoft zapewnia CPU i GPU niski pod względem latencji, jednoczesny dostęp do tej samej pamięci. By wyjaśnić powody swojej decyzji, Goossen nawiązuje do systemu śledzenia ruchów szkieletu na Xboksowym sensorze Kinect.

- Paradoksalnie, ten system nie potrzebuje dużo ALU. Większe znaczenie ma latencja. Podjęte przez nas decyzje dotyczące Xbox One wynikają z ewolucji technologii - wyjaśnia. - Powiedzieliśmy sobie: OK, dla obciążonego zadaniami GPGPU większe znaczenie ma system pamięci.

Architekci podkreślają też, że 150MHz, o które przyspieszono częstotliwość taktowania zegara, ma znacznie większe znaczenie, niż moglibyśmy sądzić.

- Warto zauważyć, że spadek płynności animacji pojawia się z winy CPU, a nie GPU - wyjaśnia Goossen. - A jeśli dodamy do tego jego ograniczenia... mieliśmy kilka tytułów, gdzie rozgrywka traciła na płynności, bo gra w dużym stopniu opierała się na CPU. To na pozór nieznaczne podkręcenie zegara dla nas jest wielkim sukcesem, ponieważ pozwoliło zapewnić stałą płynność gier.

To by po części wyjaśniało, dlaczego niektóre z niestandardowych elementów architektury systemu - jak Data Move Engine - zaprojektowano z myślą o odciążeniu CPU. Profilowanie wykazało, że był to rzeczywisty problem, który rozwiązano dzięki podkręceniu zegara i dedykowanym rozwiązaniom w architekturze systemu - dodatkowym procesorom w procesorze Xbox One.

- CPU zostało znacznie odciążone. Korzystamy z SHAPE, wydajnego procesora komend pokrewnego klasycznemu projektowi, przyspieszyliśmy częstotliwość taktowania - i zrobiliśmy to wszystko w dużej mierze, by zapewnić sobie przestrzeń do oddychania w kwestii płynności animacji - kontynuuje swoje wyjaśnienia Goossen. - Ale wygląda na to, że Data Move Engine może też wspomóc GPU.

Kliknij w miniatury po lewej stronie, by przełączać poszczególne obrazki. Używaj wskaźnika myszki na obrazku po lewej, by powiększyć i porównać elementy graficzne:

1920x10801600x900
Na konsolach nowej generacji zobaczymy też gry w rozdzielczościach poniżej 1080p. Opracowane przez Crytek Ryse jest wyświetlane w 900p - jak więc jakość obrazu przekłada się na gęstość pikseli? Warto zobaczyć w zestawieniu.
1920x10801600x900
Na konsolach nowej generacji zobaczymy też gry w rozdzielczościach poniżej 1080p. Opracowane przez Crytek Ryse jest wyświetlane w 900p - jak więc jakość obrazu przekłada się na gęstość pikseli? Warto zobaczyć w zestawieniu.
1920x10801600x900
Na konsolach nowej generacji zobaczymy też gry w rozdzielczościach poniżej 1080p. Opracowane przez Crytek Ryse jest wyświetlane w 900p - jak więc jakość obrazu przekłada się na gęstość pikseli? Warto zobaczyć w zestawieniu.
1920x10801600x900
Na konsolach nowej generacji zobaczymy też gry w rozdzielczościach poniżej 1080p. Opracowane przez Crytek Ryse jest wyświetlane w 900p - jak więc jakość obrazu przekłada się na gęstość pikseli? Warto zobaczyć w zestawieniu.

- Wyobraźmy sobie sytuację, gdy w ESRAM-ie ląduje wyrenderowany bufor głębi. Przełączasz się na kolejny bufor, a potem chcesz wyciągnąć stamtąd gotową teksturę i przesłać ją do DDR, gdzie nie będzie zbyt często odczytywana. W takiej sytuacji możesz wykorzystać Move Engine do asynchronicznego przesyłu, w który GPU nie będzie angażować swoich środków. Tym zajmuje się silnik DMA. Dzięki temu GPU, zamiast nadzorować przesył danych, może zabrać się do pracy nad kolejnych obiektem docelowym”.

Również na innych płaszczyznach Xbox One opracowano z myślą o zwiększeniu wydajności w sferze graficznej.

- Zmodyfikowaliśmy GPU i zastosowaliśmy nakładki systemowe, które mają zapewnić stałą płynność animacji - dodaje Goossen. - Mamy dwie niezależne warstwy, gdzie jedna zajmuje się zawartością 3D, a druga HUD-em. Mamy skaler lepszy niż w Xboksie 360. To oznacza, że deweloper może zmieniać parametry skalowania z dokładnością do jednej klatki animacji.

Dynamiczne skalowanie rozdzielczości nie jest nową technologią - stosowano ją już w wielu produkcjach. Pierwszą grą obecnej generacji, w których uświadczyliśmy tego efektu, był tytuł Sony - Wipeout HD. Przy 720p skaler odbija się dość mocno na jakości grafiki, ale przy wyższych rozdzielczościach i bardziej zaawansowanym skalowaniu technologia może zrównać obie platformy pod względem wydajności.

- Mówiłem już o tym, jak glitche CPU wywołują glitche animacji... Obciążenie GPU jest bardziej równomierne. Nie ma skoków, których uświadczymy na CPU, co oznacza, że można się do nich dostosować - wyjaśnia Goossen.

- Twórcy gier operują dynamicznym skalowaniem rozdzielczości, żeby uniknąć skoków animacji. Gdy natrafiają na ścianę w miejscu, gdzie mogą sobie pozwolić na dodatkową inwestycję, otwartą opcją staje się skorzystanie z dynamicznego skalowania rozdzielczości. To pozwala pozostawić HUD w niezmienionej postaci, a przekształcić zawartość 3D. Sam jestem graczem i większe znaczenie ma dla mnie płynność animacji, niż liczba pikseli na ekranie.

- Z punktu widzenia poboru mocy fixed function (API i GPU niedostosowane do wykorzystania shaderów) lepiej się sprawują na przystosowanych do nich urządzeniach - dodaje Nick Baker. - Dodatkowo kompresujemy dane - stosujemy kompresję i dekompresję LZ (Lempel-Ziv) i współpracujący z Kinectem dekoder ruchu JPEG. Zadania Data Move Engine nie ograniczają się tylko do przesuwania danych z jednego bloku pamięci do drugiego.

Nasza rozmowa trwa już dobrą godzinę i lada moment dobiegnie końca. Skoncentrowaliśmy się na stronie technicznej urządzenia, niemalże zapominając, że listopadowa premiera Xbox One będzie dla Nicka Bakera i Andrew Goossena nie lada wydarzeniem. Jakie to uczucie obserwować, jak z linii produkcyjnej zjeżdża konsola, nad którą pracowało się kilka ostatnich lat?

- To zawsze wspaniałe uczucie zobaczyć efekt swojej pracy, lecz nasz zespół pracuje równolegle nad kilkoma projektami - nie narzekamy na brak zajęć - stwierdza Baker.

- Moją nagrodą jest możliwość zagrania w te wszystkie gry i powiedzenia sobie: „Tak, właśnie to chcieliśmy osiągnąć swoją harówą. Dla kogoś, kto zajmuje się grafiką, ujrzenie efektu swojej pracy na ekranie niesie ze sobą wspaniałe uczucie" - kończy naszą rozmowę Goossen.

Reklama

Skocz do komentarzy (33)

O autorze

Richard Leadbetter

Richard Leadbetter

Technology Editor, Digital Foundry

Rich has been a games journalist since the days of 16-bit and specialises in technical analysis. He's commonly known around Eurogamer as the Blacksmith of the Future.

Powiązane materiały

Na stronie

Komentarze (33)

Ukryj komentarze z niską oceną
Sortuj:
Wątki z odpowiedziami