Coraz większymi krokami nadchodzi Sid Meier's Civilization: Beyond Earth, a więc szósta odsłona jednej z najlepszych strategii turowych w historii gier komputerowych. Nad nową częścią pracuje studio Firaxis Games, a niedawno na jego blogu pojawił się interesujący wpis Josha Barczaka i Johna Kloetzli, który dobrze tłumaczy sposób działania i powody podjęcia decyzji o wykorzystaniu w grze Mantle.
Mantle to interfejs niskopoziomowego programowania, który usprawnia komunikację pomiędzy procesorem a układem graficznym i dzięki wyeliminowaniu efektu tzw. wąskiego gardła w przekazywaniu danych oraz lepsze wykorzystanie istniejących podzespołów, zwiększa ogólną wydajność komputerów wyposażonych w karty graficzne Radeon bazujące na architekturze GCN.
Wszystkie cross-platformowe silniki graficzne, z jakimi pracowaliśmy, były zaprojektowane wokół jakiegoś API, które oddzielało kod gry w górnej warstwie abstrakcji od sprzętu w dolnej. Jeśli te warstwy są dobrze skonstruowane, to koszt przygotowania gry dla dwóch platform graficznych nie jest gorszy od przygotowania jej dla jednej z nich. Ważne, żeby rozumieć, że właściwa architektura i API są zwykle stałym kosztem. Mantle wymagał co prawda pewnych inwestycji na początku, ale w perspektywie koszty przygotowania nowych produktów są znacznie niższe.
Mówiąc wprost, Mantle jest najbardziej zaawansowanym i potężnym API, jakie istnieje. Zapewnia ten sam zestaw funkcji, co DX11 i OpenGL, ale robi to przy znacznie niższym narzucie. Dzieje się tak dlatego, że Mantle działa na znacznie niższym poziomie niż konkurenci. Wiele z tego, co dotychczas zależało od sterownika realizuje teraz sam silnik gry. Oznacza to, że wystarczy tylko mniejszy i prosty sterownik, który w efekcie też działa po prostu szybciej. To także oznacza, że ta praca jest wykonywana przez podmiot, który dysponuje znacznie większą ilością danych, czyli przez silnik gry. On z kolei dokładnie wie co, gdzie, kiedy i jak powinno zostać wyrenderowane, więc może podejmować decyzje, jakich sterownik nie jest w stanie.
Poza tym, że Mantle jest wydajniejszy w podziale na rdzenie, to umożliwia w pełni równolegle przetwarzane rozkazy rysowania (draw submissions), co wcześniej również próbowano zrealizować, ale nigdy z tak dobrym efektem. Do teraz ten rodzaj obliczeń mógł być realizowany tylko przez jeden rdzeń procesora. Jest to rzecz nie do przecenienia, bo poza zredukowaniem narzutu, to również niezwykłe osiągnięcie techniczne, czego implikacje w przyszłości będą znacznie większe. Pozwoli to bowiem silnikom i grom znacznie zwiększyć swoje możliwości, ponieważ umożliwi tworzenie im znacznie bardziej szczegółowych scen, czyli jeszcze lepszej jakości grafiki. Zredukowanie narzutu na procesor pozwoli też w systemach, w których stanowił on wąskie gardło, uzyskać lepszej jakości grafikę i większą płynność. Z kolei w systemach limitowanych przez karty graficzne większych różnic w płynności nie będzie, ale za to wyraźnie spadnie pobór prądu, co jest niezwykle ważne zwłaszcza, gdy ktoś korzysta z laptopa lub tabletu.
Wreszcie to, że sterownik obsługujący Mantle jest tak mały i prosty sprawia, że będzie też bardziej wydajny niż skomplikowane odpowiedniki. Ponadto z czasem, liczba błędów i poprawek dla Mantle będzie mniejsza niż w przypadku D3D czy OpenGL. W dłuższej perspektywie wpłynie on zatem też na kształt przyszłych API i my, inwestując w Mantle teraz, przyczyniamy się do tego, żeby cała branża była bardziej korzystna zarówno dla nas jak i konsumentów.
Zdajemy sobie sprawę, że spora część naszych klientów nie będzie miała dostępu do Mantle i naszą intencją nie jest ich dyskryminacja. Naszą filozofią jest zapewnienie graczom tego, żeby ich maszyny działały z pełnym potencjałem. Korzystający z trybu DirectX zobaczą dokładnie ten sam obraz, co korzystający z tryby Mantle, i zapewnimy im tak wysoką wydajność, jaką tylko ich sprzęt umożliwia. Udostępnienie trybu Mantle będzie dokładnie w myśl tej samej filozofii, lecz użytkownicy z niego korzystający będą mogli uwolnić moc, która dotychczas była po prostu niezagospodarowana.
Spodziewamy się, że przyszłe API podążą tę samą drogą, co Mantle i jesteśmy przekonani, że nic nie stoi na przeszkodzie innym firmom w tym, żeby skorzystali z przykładu AMD na zaoferowanie nisko-poziomowego dostępu do ich sprzętu. Jedno API jest oczywiście lepsze niż wiele, ale jeśli wiele umożliwi nam zmaksymalizowanie wydajności przy niższym koszcie, to to jest właśnie kierunek, w jakim chcemy zmierzać.
Widać zatem, że Mantle ma całkiem spory potencjał. Jak się sprawdzi w Sid Meier's Civilization: Beyond Earth? Tego dowiemy się na jesień, bowiem właśnie wtedy ma nastąpić premiera gry.
Źródło: Firaxis, Civilization