Wyjaśniamy, dlaczego amd poprawia więcej niż nvidia, przechodząc do directx 12
Spisu treści:
- Narzut jest przyczyną rozszerzenia AMD o DirectX 12
- A dlaczego AMD nie lubi Nvidii?
- A co z Asynchronicznymi modułami cieniującymi?
Z pewnością przeczytałeś lub słyszałeś, że karty graficzne AMD są znacznie lepsze w DirectX 12 niż Nvidia, że architektura używana przez tę pierwszą jest znacznie lepiej przygotowana do pracy z API nowej generacji. Są to afirmacje, które zwykle widzimy każdego dnia, ale czy AMD jest naprawdę lepsze niż Nvidia w DirectX 12? W tym poście powiemy Ci wszystko, co musisz wiedzieć.
Narzut jest przyczyną rozszerzenia AMD o DirectX 12
Odkąd DirectX 12 zaczął mówić, obserwujemy wykresy porównawcze, takie jak:
Te grafiki porównują dwie równoważne karty graficzne, takie jak GeForce GTX 980 Ti i Radeon R9 Fury X, jeśli przejdziemy do poprzednich zdjęć, zobaczymy, że AMD ma gwałtowny wzrost wydajności, przechodząc z DirectX 11 do DirectX 12, w porównaniu z Nvidią, pozostaje równa lub nawet traci wydajność, gdy zaczyna pracować z nowym interfejsem API. Widząc to, każdy użytkownik pomyślałby, że karta AMD jest znacznie lepsza niż karta Nvidia.
Teraz zwracamy się do następującego obrazu:
Tym razem wykres porównuje wydajność GeForce GTX 980 Ti i Radeon R9 Fury X w DirectX 11 i DirectX 12. Widzimy, że w DirectX 11 karta Nvidia daje prawie dwa razy więcej niż AMD, a po przejściu na DirectX 12 wydajność jest wyrównana. Widzimy, że Radeon R9 Fury X znacznie poprawia swoją wydajność, jeśli zamierzasz pracować z DirectX 12, a GeForce GTX 980 Ti poprawia się znacznie mniej. W każdym razie wydajność obu w DirectX 12 jest taka sama, ponieważ różnica nie osiąga 2 FPS na korzyść Fury X.
W tym momencie musimy zadać sobie pytanie, dlaczego AMD ma taką poprawę po przejściu na DirectX 12, a Nvidia poprawia znacznie mniej. Czy AMD działa lepiej pod DirectX 12 niż Nvidia, czy ma duży problem z DirectX 11?
Odpowiedź brzmi: AMD ma duży problem z DirectX 11, który sprawia, że jego karty działają gorzej niż Nvidia. Ten problem jest związany z wykorzystaniem procesora przez sterowniki karty, problemem znanym jako „obciążenie” lub przeciążenie.
Karty graficzne AMD bardzo nieefektywnie wykorzystują procesor w trybie DirectX 11, aby sprawdzić ten problem, wystarczy spojrzeć na następujące filmy wideo analizujące wydajność Radeona R7 270X i GeForce GTX 750 Ti z rdzeniem- i7 4790K, a następnie z Core-i3 4130. Jak widać, wykres AMD traci znacznie większą wydajność podczas pracy ze znacznie mniej wydajnym procesorem.
Far Cry 4
Ryse: Syn of Rome
COD Advanced Warfare
Kluczem do tego jest „ kolejka poleceń ” lub lista poleceń w DirectX 11. W bardzo prosty i zrozumiały sposób możemy to podsumować w ten sposób, że karty graficzne AMD biorą wszystkie wywołania rysunkowe do API i umieszczają je w z pojedynczym rdzeniem procesora, co czyni je bardzo zależnymi od mocy procesora z jednym wątkiem i dlatego bardzo cierpią podczas współpracy z mniej wydajnym procesorem na rdzeń. Właśnie dlatego grafika AMD bardzo ucierpiała na procesorach AMD FX, znacznie mniej wydajnych na rdzeń niż procesory Intela.
Zamiast tego Nvidia przejmuje wywołania API do API i dzieli je między różne rdzenie procesora, dzięki czemu obciążenie jest rozkładane i wykorzystywane jest znacznie bardziej wydajne wykorzystanie, a mniejsza moc zależy od rdzenia procesora. W rezultacie AMD ponosi znacznie więcej kosztów ogólnych niż Nvidia w ramach DirectX 11.
Sprawdzenie tego drugiego jest bardzo proste, musimy tylko monitorować kartę graficzną AMD i Nvidia pod tą samą grą i tym samym procesorem i zobaczymy, jak w przypadku Nvidii wszystkie rdzenie działają w znacznie bardziej zrównoważony sposób.
Ten problem związany z narzutem został rozwiązany w DirectX 12 i to jest główny powód, dla którego karty graficzne AMD mają ogromny wzrost wydajności od DirectX 11 do DirectX 12. Jeśli spojrzymy na poniższy wykres, zobaczymy, w jaki sposób wydajność DirectX 12 nie jest już tracona przy przejściu z dwurdzeniowego procesora na jeden z czterech.
A dlaczego AMD nie lubi Nvidii?
Wdrożenie przez Nvidię kolejek poleceń w DirectX 11 jest bardzo kosztowne, wymaga dużych inwestycji pieniędzy i zasobów ludzkich. AMD znajduje się w złej sytuacji finansowej, więc nie ma takich samych zasobów, jak Nvidia do zainwestowania. Ponadto przyszłość przechodzi przez DirectX 12 i nie ma tego narzutu, ponieważ sam interfejs API zarządza kolejkami poleceń w znacznie bardziej wydajny sposób.
Ponadto podejście Nvidia ma problem polegający na tym, że jest znacznie bardziej zależne od optymalizacji sterowników, więc Nvidia zwykle jako pierwsza wydaje nowe wersje sterowników za każdym razem, gdy na rynku pojawia się ważna gra, chociaż AMD wprowadziło kładzie się na tym ostatnio. Zaletą AMD jest to, że jest znacznie mniej zależna od sterowników, więc jej karty nie potrzebują tak pilnie nowych wersji jak Nvidia, jest to jeden z powodów, dla których karty graficzne Nvidii starzeją się wraz z upływ czasu, gdy nie są już obsługiwane.
A co z Asynchronicznymi modułami cieniującymi?
Wiele mówiło się również o Asynchronicznych Shaderach, w związku z tym musimy tylko powiedzieć, że zyskało ono duże znaczenie, gdy w rzeczywistości obciążenie ogólne jest znacznie ważniejsze i decyduje o wydajności karty graficznej. Nvidia również je obsługuje, chociaż jego implementacja jest znacznie prostsza niż AMD, ponieważ architektura Pascala działa w znacznie bardziej wydajny sposób, więc nie potrzebuje Asynchronicznych Shaderów tak bardzo jak AMD.
Grafika AMD obejmuje ACE, które są sprzętowym silnikiem dedykowanym do obliczeń asynchronicznych, sprzętem zajmującym miejsce na chipie i zużywającym energię, więc jego implementacja nie jest kaprysem, ale z powodu poważnej wady architektury Graphics Core. Dalej od AMD z geometrią. Architektura AMD jest bardzo nieefektywna, jeśli chodzi o rozkład obciążenia między różne jednostki obliczeniowe i rdzenie, które je tworzą, co oznacza, że wiele rdzeni jest nieaktywnych, a zatem marnowanych. To, co robią ACE i Asynchronous Shaders, to „dawanie pracy” jądrom, które pozostały bezrobotne, aby można je było wykorzystać.
Z drugiej strony mamy grafikę Nvidii opartą na architekturze Maxwella i Pascala, są one znacznie wydajniejsze w geometrii, a liczba rdzeni jest znacznie mniejsza niż w przypadku grafiki AMD. To sprawia, że architektura Nvidia jest znacznie bardziej wydajna, jeśli chodzi o podział pracy, i nie marnuje się tak wiele rdzeni, jak w przypadku AMD. Implementacja Asynchronicznych Shaderów w Pascalu odbywa się za pomocą oprogramowania, ponieważ wykonanie implementacji sprzętowej nie zapewniłoby prawie żadnej korzyści w zakresie wydajności, ale pociągnęłoby za sobą rozmiar układu i jego zużycie energii.
Poniższy wykres pokazuje wzrost wydajności AMD i Nvidii dzięki Asynchronicznym shaderom Mark Time Spy 3D:
To, czy Nvidia wdroży Asynchroniczne moduły cieniujące w przyszłości, zależy od korzyści przeważających nad szkodą.
Przełącznik Nintendo: więcej trzeciego wsparcia i nie dostarczy więcej informacji do 2017 roku
Nintendo Switch wysyła komunikat, że konsola będzie cieszyła się większym wsparciem od firm zewnętrznych, w przeciwieństwie do Nintendo WiiU.
Dlaczego bateria Twojego telefonu komórkowego wystarcza na mniej niż wcześniej?
Analizujemy, dlaczego bateria twojego telefonu komórkowego jest teraz mniej wydajna niż wtedy, gdy ją kupiłeś i była nowa. Wszystko, co musisz wiedzieć o bateriach mobilnych.
Co więcej, więcej pamięci RAM lub więcej procesorów w telefonie komórkowym
Więcej pamięci RAM lub więcej procesorów? Zadaliśmy sobie to pytanie więcej niż raz, kiedy musieliśmy kupić telefon komórkowy. Wewnątrz odpowiadamy.