Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Okiem Pangrysa czyli Mantle w Battlefield 4

Wraz z ubiegłoroczną premierą najnowszych kart AMD rodziny R9/R8/R7 pojawił się Mantle, czyli nowe API dla kart graficznych, które w zasadzie ma być niskopoziomową alternatywą dla DirectX 11. Sam DirectX jest obarczony dużą ilością ograniczeń i jego optymalizacja jest hmm... mocno dyskusyjna. Nie zapomnijmy, że DirectX potrafi wygenerować dość spore dodatkowe obciążenia dla CPU podczas wykonywania niektórych operacji.

Mantle ma dawać najlepsze efekty tam, gdzie wydajność jest ograniczana przez procesor i ma na celu przede wszystkim usuwać wszelkie problematyczne w optymalizacji wąskie gardła wynikające z narzutu API czy nieefektywnego dzielenia obliczeń na wątki. Dzięki temu najlepsze efekty uzyskają systemy z niskiego i średniego segmentu oraz osoby dysponujące starszymi konfiguracjami, jeśli oczywiście mają kartę graficzną bazującą na architekturze GCN, czyli kartę graficzną AMD z serii HD 7XXX oraz karty z najnowszej rodziny R9/R8/R7.

Krótko mówiąc, dzięki technologii AMD, część zadań z obliczaniem tekstur, zostanie przerzucana na GPU, odciążając nam CPU, czyli wreszcie słabszy procesor nie będzie nam ograniczał możliwości wydajnej karty graficznej. I tak, jak dobrze sami wiecie, większość współczesnych kart graficznych rzadko pracuje na 100% swoich możliwość a jak to mawia mój przyjaciel.

Nieużywany potencjał to stracony potencjał

No chyba, że kopiecie jakąś krypto walutę :P

Dzięki uprzejmości firmy AMD, która użyczyła mi do testów swojego potwora, czyli Gigabyte R9 290X, sam mogłem się przekonać o przydatności Mantle w jak na razie jedynej grze, jaką mam, która obsługuję tą technologię, czyli Battlefield 4.
Co prawda już, niedługo wychodzą kolejne tytuły, które będą obsługiwały Mantle, ale dla mnie zawsze na pierwszym miejscu stoi Battlefield :)

O samej grze powiedziano już wiele, zarówno pozytywów jak i negatywnych opinii. I wierzcie mi, w każdej z nich znajdziecie przynajmniej cześć prawdy. Gra jest o wiele bardziej dynamiczna niż jakikolwiek Battlefield przed nią. Rozgrywki są naprawdę szybkie, poprawiona jest detekcja trafień i wreszcie nie trzeba opróżniać całego magazynka by zdobyć fraga. Battlefield 4 premiuje zgrane teamy i naprawdę stawia na współpracę. Ogarnięta ekipa może zdominować pole walki i przeważyć szale zwycięstwa na swoja stronę. Zmienne warunki pogodowe i Levolution, które pozwala w dość ograniczonym zakresie zmienić otoczenie walki dodają tylko smaczku tej grze. Mi gra się niesamowicie dobrze i przyznam szczerze, że lepiej mi się gra niż w poprzednika, czyli Battlefield 3.

Ale przyznam uczciwie, że to nie jest idealna gra, bo nawet nie jest to do końca sprawna gra...

Pomijam losowe wywalanie ludzi z serwerów z komunikatem "Battlefield 4 przestał działać...", nic nie wspomnę o tym, że gdy na mapie Siege of Shanghai zawalano budynek TV to z serwerem rozłączało właścicieli słabszych komputerów. Nie powiem też, że po ostatnim patchu-psuju wielu graczy nie mogło grać w BF a niektórym, w tym i mi, zawieszało grę po całkowicie dowolnym czasie. Bywało, że po pięciu minutach gry a bywało, że dopiero po godzinie.
Tutaj rozwiązaniem problemu była edycja pliku user.cfg, który znajdziemy w katalogu z grą i usunięcie linijki "UI.DrawEnable 1"

Prawda, ze rozwiązanie jest proste i oczywiste ?

Lista bugów i niedoróbek woła wręcz o pomstę do nieba. Nie dziwi, więc, że pod adresem twórców BF4 często trafiają gorzkie i niestety prawdziwe słowa graczy. Czasem niezadowolenie graczy jest dość nieoczekiwanie manifestowane i sięga samych developerów z DICE.

Wracając do tematu, wreszcie sami możemy się przekonać, co tak naprawdę potrafi technologia Mantle i czy jest tak dobra jak to opisuje AMD.

Platforma testowa

Płyta Główna: Intel DZ77RE-75K

Procesor: Intel® Core™ i5-3570K 3.40GHz

Chłodzenie: Zalman CNPS14X

Ram: 8192 MB (2x 4096) DDR3 Kingston HyperX PC1600 XMP X2 CL9 Grey

Karta graficzna: AMD Gigabyte R9 290X Gaming 4GB GDDR5

Sterowniki: AMD Catalyst 14.1 Beta/AMD Catalyst 14.2 Beta

Zasilacz: XFX Core 550W 120mm 80+

SSD: Intel® SSD 330 180GB SATA III

HDD: Seagate SATA III SV35 1TB

Obudowa: SilentiumPC Regnum L50 Pure Black

OS: Windows 8 Pro 64-bit

Monitor: BENQ 24" GL2460 (1920x1080)

Głównym problemem było miarodajne zmierzenie klatek. Niestety FRAPS jeszcze nie obsługuje Mantle, więc trzeba było sobie radzić w inny sposób.

Wystarczy otworzyć w grze konsolę tyldą (~) i wpisać komendę "perfoverlay.drawfps 1" i wtedy wyświetla nam nasze FPS, ale to nie rozwiązywało mojego problemu. Na szczęście programiści DICE, dają nam jeszcze jedną fajną komendę, czyli "PerfOverlay.FrameFileLogEnable 1", która tworzy nam w MyDocuments, w katalogu Battlefield 4 pliczek FrameTimeLog001.csv.

Wystarczy rozdzielić kolumny, zamienić kropki w przecinki i wartości z pierwszej kolumny Frame time podzielić przez 1000. Po zaokrągleniu do pełnych wartości otrzymujemy zapis naszych FPS z naszej rozgrywki. Pozostaje nam tylko wyciągnięcie średniej :)

I jak to wygląda w Battlefield 4 na Ustawieniach Ultra / MSAAx4 ?

Musze szczerze przyznać, że wygląda całkiem obiecująco, Mantle jest odrobinę wydajniejsze od DirectX a różnice w samej grafice są przynajmniej dla mnie dość trudne do zauważenia.

Na sterownikach AMD Catalyst 14.1 Beta, używając Mantle, zdarzały mi się dokuczliwe mikro przycięcia, które psują radość z gry w jakiegokolwiek sieciowego FPS. Na szczęście na najnowszych sterownikach AMD Catalyst 14.2 Beta, od kilku dni nie doświadczyłem żadnego mikro przycięcia. Sam nie wiem czy to zasługa DICE, (w co szczerze wątpię) czy nowych sterowników, ale ja na karcie AMD Gigabyte R9 290X zapomniałem o tych problemach.

Samo Mantle, bardzo pozytywnie mnie zaskoczyło. Nie sądziłem bowiem, że będzie rzeczywiście aż tak dobre. Raczej oczekiwałem ciekawego wodotrysku, który raczej nie będzie miał szans ze starym poczciwym DirectX i dodatku będzie problematyczny.
Na szczęście to ja się myliłem i trzeba to jasno powiedzieć, że Mantle może ostro namieszać co już widać po gorączkowych zapewnieniach konkurencji, która liczyła na spektakularną klapę technologii AMD.

Ale jak mawiali Starożytni:

Póki jest konkurencja, póty klient jest zadowolony.

Pewnie zastanawiacie się czy warto kupić Battlefield 4 w świetle moich narzekań. Moją odpowiedź brzmi, warto.
Obecnie nie ma takiej drugiej gry, która zapewnia nam grę na tak zróżnicowanych mapach i trybach. Gra może i jest w fazie beta, ale jest grywalna i daje mnóstwo frajdy i odprężenia. Owszem, wypluje czasem złośliwie komunikatem, że przestała działać, ale wtedy wbijam z powrotem na serwer i gram dalej.

Bo jestem fanem Battlefield i chyba nim zostanę do końca.

PS

Kompleksowy test karty R9 290X już wkrótce :)
 

sprzęt

Komentarze

0 nowych
Piotrek_20   11 #1 03.03.2014 21:31

Ciekawy wpis.

saturno   10 #2 03.03.2014 22:07

Mantle całkowicie zastępuje DirectX czy tylko go wspomaga kiedy on nie daje rady?

  #3 03.03.2014 22:16

Mantle i DirectX działają równolegle i są ze sobą zgodne. Mówiąc w uproszczeniu: gra wykorzystująca Mantle komunikuje się bezpośrednio z GPU Radeona pomijając etap tłumaczenia komendy przez procesor w DirectX. Dzięki temu gra może wywołać więcej tzw. "draw-call". Niemniej gra wciąż działa normalnie w trybie DirectX.

michalo2882   3 #4 03.03.2014 22:22

@saturno
Zastępuje. Właśnie dlatego wymaga implementacji w driverze. Oczywistością jest że Nvidia nie zaimplementuje Mantla, bo po co, zwłaszcza, że AMD najwidoczniej nie ma zamiaru upublicznić specyfikacji tego API. Mówi się, że D3D12 będzie bazować na podobnych mechanizmach, w związku z tym scenariusz, w którym wszyscy zachwycają się nowym API Microsoftu wydaje się bardziej prawdopodobny niż ten, w którym twórcy silników graficznych nagle zaczną masowo implementować rozwiązania AMD.

Songokuu   14 #5 03.03.2014 22:27

@Pangrys

Dobry jest ten dysk? (SSD 330 180GB SATA III)
Jakie masz z nim doświadczenia? Bo się tak zastanawiam...

dzikiwiepsz   12 #6 03.03.2014 22:31

Dobrze że są takie wpisy jak ten bo można się dowiedzieć co nie co o grach, widać gra nadal nie warta wydania kasy.

Pangrys WSPÓŁPRACOWNIK  19 #7 03.03.2014 23:04

@Songokuu

Jest świetny, cały czas w doskonałej kondycji a mam go prawie od dwóch lat.

mikolaj_s   14 #8 03.03.2014 23:20

Patrząc na te wyniki w arkuszu to na pewno jest jakiś powód aby zużywać masę czasu programisty do przeniesienia gry na Mantle dla paru klatek? Podejrzewam, że użycie OpenGL mogło by dać podobny lub lepszy efekt.

kuba144   5 #9 03.03.2014 23:42

Gdzieś widziałem testy na znacznie słabszym procesorze i robiło to większą różnicę. Nie oszukujmy się, i5-3570K to obecnie jeden z lepszych procesorów do gier ;)

  #11 04.03.2014 10:54

Proszę popraw w artykule numerację sterowników Piszesz 14.01, 14.02 a naprawdę to 14.1 i 14.2. Natomiast pierwszego komunikatu nigdy nie doświadczyłem, zn. się mam dobrą konfigurację dla BF4 ;-)

Pangrys WSPÓŁPRACOWNIK  19 #12 04.03.2014 16:45

Raczej szczęście. Kilka razy zdarzyło się, że wywalało kilku moich kumpli z tym komunikatem a reszta grała i to nie miało nic wspólnego z konfiguracją komputera.

Łukash   10 #13 04.03.2014 17:34

Frapsem nie mierzy się profesjonalnie liczby klatek, tak samo przekłamuje jak i pewnie konsolowe narzędzie ;) Dopóki ktoś profesjonalnie nie zrobi benchmarka DX vs Mantle z użyciem FCAT dopty te wyniki to pobożne žyczenia.

Jaro070   16 #14 05.03.2014 15:28

A jak wypada Mantle w tańszych kartach? Na przykład R9 270X

kwpolska   6 #15 06.03.2014 20:30

> Wystarczy rozdzielić kolumny, zamienić kropki w przecinki

czyżby office 2010 nie radził sobie z csv?

ruteros4   2 #16 20.04.2014 13:49

Trochę żal mi się robi Ciebie, maniaku gier..

danyll   7 #17 27.12.2014 15:24

@Pangrys przepraszam, że odkopuję temat, ale od niedawna mam BF4 i chciałem zmierzyć miarodajnie fps. W opisie masz błąd: " i wartości z pierwszej kolumny Frame time podzielić przez 1000. ", bo to powinno być na odwrót, czyli 1000 podzielony przez wartości z pierwszej kolumny i wtedy mamy fps, inaczej nie wyjdzie nawet 1 fps. A sam wpis bardzo ciekawy i przydatny:)