DirectX 12 będzie połączeniem DirectX 11 i AMD Mantle?
Microsoft upublicznił ciekawą informację dotyczącą pakietu DirectX 12, który został zapowiedziany jako iście rewolucyjny, bowiem miał posiadać rozwiązanie zbliżone w zasadzie działania do konkurencyjnego AMD Mantle. Jak podaje serwis SemiAccurate, nowa wersja popularnych bibliotek będzie skrzyżowaniem obecnej wersji DirectX 11 oraz... właśnie AMD Mantle. Nie jest wiadome, czym tak naprawdę kieruje się zespół Microsoft projektujący najnowsze API dla komputerów PC oraz Xbox One, ale gigant nie chce pozostawać w tyle. Czy będzie to skuteczny sposób na zdetronizowanie rywali? Chyba już przywykliśmy do tego, że ostatnie wersje oprogramowania DirectX wprowadzają do świata gier i multimediów raczej niewielkie zmiany. Połączenie dwóch systemów w jednym pakiecie wydaje się ciekawe, ale z drugiej strony niezmiernie dziwi, że firma będąca pionierem w tworzeniu tego typu oprogramowania nie opracuje autorskiego kodu. Co dokładnie nowego wniesie kolejna generacja DirectX?
W dużym skrócie można napisać, iż technologia AMD Mantle omija „zatory” nałożone przez system operacyjny i sterowniki, co pozwala na bezpośredni dostęp do zasobów oraz efektywniejsze wykorzystanie mocy obliczeniowej GPU. Pozwala to również zniwelować znaczenie procesora, który czasami bywa wąskim gardłem, zwłaszcza w przypadku mocnych kart graficznych połączonych ze słabymi jednostkami obliczeniowymi. Rozwiązanie Microsoft w obecnej wersji przetwarza dane na poziomie systemu operacyjnego i sterowników, co bywa zabójcze dla wydajności. Widać to doskonale na przykładzie Battlefield 4, gdzie procesor jest intensywnie wykorzystywany i bywa przyczyną bardzo dużego spadku płynności. Różnice między DirectX 11 i Mantle sięgają nawet 50% w przypadku tego samego zestawu komponentów. Gra jest chyba warta świeczki?
Test procesorów i kart graficznych: Battlefield 4 Mantle vs DirectX
DirectX 12 miałby wszelkie granice zlikwidować poprzez wprowadzenie dwóch poziomów dostępu (highest level i lowest level, oznaczonych odpowiednio 1s i 0s). Programista zyskałby większe pole do popisu, bowiem proste funkcje mógłby realizować poprzez lowest level odwołując się bezpośrednio do jądra GPU. Pozostała część informacji, która nie może się niestety odbyć bez udziału sterowników oraz systemu operacyjnego, obrabiana byłaby jako highest level. Wspólna praca obu jednostek według Microsoft przyczyniłaby się do znacznego wzrostu wydajności grafiki trójwymiarowej w grach. Technologia Microsoftu pozwoliłaby również na budowanie bardzo złożonych scen bez utraty widocznej szybkości animacji. Takie posunięcie otworzyłoby drzwi programistom do tworzenia oprogramowania (głównie gier) mogącego wyglądać naprawdę fotorealistycznie albo produkcji korzystających tylko z lowest level.
Microsoft idzie na łatwiznę, czy po prostu AMD Mantle jest na tyle dobrym rozwiązaniem, że nie opłaca się tworzyć dla niego alternatywy?
Rozwiązanie Microsoftu może się nieźle sprawdzić w Xbox One, ponieważ konsola nie używa systemu operacyjnego jako takiego lecz tzw.: RTOS (Real Time Operating System). W chwili ukazania się DirectX 12 na Xbox One, może nastąpić pewien przełom w świecie takich urządzeń, gdyż dzięki temu posunięciu Microsoft mógłby znaleźć się w posiadaniu produktu, który dawałby naprawdę spore możliwości programistom (platforma PC również by skorzystała). Obecnie to PlayStation 4 oferuje większe możliwości i wyższą wydajność, dlatego gigant z Redmond musi kombinować, jak wybrnąć z tej nieciekawej sytuacji. Cóż... Wszystko pięknie wygląda w teorii, jednak życie pokazuje, że czasami teoria i praktyka to dwie zupełnie różne bajki...
Battlefield 4 - Test CPU - Mantle vs DirectX 11
1920x1080 / Ultra / MSAA OFF / SSAO
Średnia ilość klatek na sekundę (więcej = lepiej)
Core i5-4670K, 4500 MHz, 4/4
Core i5-4670K, 3400 MHz + TB, 4/4
FX-8350, 4500 MHz, 4/8
Core i5-4670K, 4500 MHz, 4/4
Core i5-4670K, 4500 MHz, 4/4
FX-8350, 4000 MHz + TC, 4/8
Core i5-4670K, 3400 MHz + TB, 4/4
Core i3-4130, 3400 MHz, 2/4
FX-6300, 3500 MHz + TC, 3/6
Core i5-4670K, 3400 MHz + TB, 4/4
FX-8350 OC, 4500 MHz, 4/8
FX-8350, 4500 MHz, 4/8
FX-8350, 4000 MHz + TC, 4/8
FX-8350, 4000 MHz + TC, 4/8
Phenom II X4 965 BE, 3400 MHz, 4/4
FX-6300, 3500 MHz + TC, 3/6
FX-4130, 3800 MHz + TC, 2/4
Core i3-4130, 3400 MHz, 2/4
Core i3-4130, 3400 MHz, 2/4
FX-6300, 3500 MHz + TC, 3/6
Pentium G3220, 3000 MHz, 2/2
Phenom II X4 965 BE, 3400 MHz, 4/4
Phenom II X4 965 BE, 3400 MHz, 4/4
FX-4130, 3800 MHz + TC, 2/4
FX-4130, 3800 MHz + TC, 2/4
Pentium G3220, 3000 MHz, 2/2
Pentium G3220, 3000 MHz, 2/2
Źródło: WCCTech