Графични карти

Обясняваме защо amd подобрява повече от nvidia, когато преминава към directx 12

Съдържание:

Anonim

Със сигурност сте чели или чували, че графичните карти на AMD са много по-добри в DirectX 12 от Nvidia, че архитектурата, използвана от първата, е много по-подготвена за работа с API на ново поколение. Това са утвърждения, които обикновено виждаме всеки ден, но дали AMD наистина е по-добър от Nvidia в DirectX 12? Ние ви казваме всичко, което трябва да знаете в тази публикация.

Накладването е причината за подобряването на AMD с DirectX 12

Откакто DirectX 12 започна да говори, виждаме сравнителни графики като следната:

Тези графики сравняват две еквивалентни графични карти като GeForce GTX 980 Ti и Radeon R9 Fury X, ако преминем на предишните изображения виждаме, че AMD има брутална печалба от производителност при преминаване от DirectX 11 към DirectX 12, срещу Nvidia, остава равна или дори губи производителност при започване на работа с новия API. Виждайки това, всеки потребител би си помислил, че AMD картата е много по-добра от тази на Nvidia.

Сега се обръщаме да разгледаме следното изображение:

Този път графиката сравнява производителността на GeForce GTX 980 Ti и Radeon R9 Fury X в DirectX 11 и DirectX 12. Това, което можем да видим, е, че в DirectX 11 картата Nvidia дава почти двойно по-голяма от тази на AMD и при преминаване към DirectX 12 производителността се изравнява. Виждаме, че Radeon R9 Fury X подобрява работата си много, когато работи с DirectX 12, а GeForce GTX 980 Ti подобрява много по-малко. Във всеки случай, производителността и на двете в DirectX 12 е еднаква, тъй като разликата не достига 2 FPS в полза на Fury X.

В този момент трябва да се запитаме защо AMD има подобрение, когато преминава към DirectX 12, а Nvidia се подобрява много по-малко. AMD работи ли по-добре в DirectX 12 от Nvidia или има голям проблем при DirectX 11?

Отговорът е, че AMD има голям проблем в DirectX 11, проблем, който прави картите му по-лоши от тези на Nvidia. Този проблем е свързан с използването, което драйверите на карти правят на процесора, проблем, известен като " Overhead " или претоварване.

Графичните карти на AMD правят много неефективно използването на процесора под DirectX 11, за да проверим този проблем, трябва само да разгледаме следните видеоклипове, които анализират работата на Radeon R7 270X и GeForce GTX 750 Ti с Core- i7 4790K и след това с Core-i3 4130. Както виждаме, графиката на AMD губи много по-голяма производителност при работа с много по-малко мощен процесор.

Far Cry 4

Ризе: Син на Рим

COD Advanced Warfare

Ключът към това е в " командния ред " или списъците с команди в DirectX 11. По много прост и разбираем начин можем да го обобщим по това, че графичните карти на AMD приемат всички чертожни обаждания към API и ги поставят в едно ядро ​​на процесора, това ги прави много зависими от еднопоточната мощност на процесора и затова те страдат много, когато работят заедно с по-малко мощен процесор на ядро. Ето защо графиката на AMD страда много с AMD FX процесори, много по-малко мощни на ядро ​​от тези на Intel.

Вместо това Nvidia поема теглещите обаждания към API и ги разделя между различните ядра на процесора, с това натоварването се разпределя и се използва много по-ефективно използване и по-малко енергия зависи от ядрото на процесора. Вследствие на това AMD страда много повече, отколкото Nvidia при DirectX 11.

Проверката на последното е много проста, трябва само да следим AMD и графична карта Nvidia под една и съща игра и същия процесор и ще видим как в случая с Nvidia всички ядра работят по много по-балансиран начин.

Този проблем с режийните проблеми е отстранен в DirectX 12 и това е основната причина графичните карти на AMD да имат огромна печалба от производителност, която преминава от DirectX 11 към DirectX 12. Ако погледнем следната графика, виждаме как при DirectX 12 производителността вече не се губи при преминаване от двуядрен процесор към един от четирите.

И защо AMD не прави като Nvidia?

Внедряването на командни опашки на Nvidia в DirectX 11 е много скъпо, изисква големи инвестиции на пари и човешки ресурси. AMD е в лошо финансово положение, така че няма същите ресурси, в които Nvidia да инвестира. В допълнение, бъдещето преминава през DirectX 12 и няма такъв проблем, тъй като самият API отговаря за управлението на командните опашки по много по-ефективен начин.

В допълнение, подходът на Nvidia има проблем да бъде много по-зависим от оптимизацията на драйверите, така че Nvidia обикновено е първият, който пуска нови версии на драйверите си всеки път, когато на пазара излезе важна игра, въпреки че AMD пуска напомня на това напоследък. Подходът на AMD има предимството, че е много по-малко зависим от драйверите, така че картите му не се нуждаят от нови версии толкова бързо, колкото тези на Nvidia, това е една от причините графичните карти на Nvidia да остаряват по-лошо с минаване на времето, когато те вече не се поддържат.

А какво ще кажете за асинхронните шейдъри?

Също така се говори много за асинхронните шейдъри, по отношение на това трябва само да кажем, че му беше придадено голямо значение, когато в действителност режийните разходи са много по-важни и определят работата на графичната карта. Nvidia също ги поддържа, въпреки че внедряването им е много по-просто от това на AMD, причината за това е, че нейната Pascal архитектура работи по много по-ефективен начин, така че не се нуждае от Asynchronous Shaders толкова, колкото AMD.

Графиката на AMD включва ACE, които са хардуерен двигател, посветен на асинхронни изчисления, хардуер, който заема място на чипа и изразходва енергия, така че неговото внедряване не е прищявка, а се дължи на основен дефицит на архитектурата на Graphics Core. Следваща AMD с геометрия. Архитектурата на AMD е много неефективна, що се отнася до разпределението на натоварването между различните изчислителни единици и ядрата, които ги съставят, това означава, че много ядра са без работа и следователно са пропилени. Това, което правят АСЕ и асинхронните шейдъри е „да дадат работа“ на тези ядра, които са останали без работа, за да могат да бъдат експлоатирани.

В другата част имаме графиката на Nvidia, базирана на архитектурите Maxwell и Pascal, те са много по-ефективни в геометрията и броят на ядрата е много по-нисък от този на AMD графиките. Това прави архитектурата на Nvidia много по-ефективна, когато става въпрос за разделяне на работата, а не се губят толкова много ядра, както в случая с AMD. Внедряването на асинхронните шейдери в Pascal се осъществява чрез софтуер, тъй като правенето на хардуерна реализация не би осигурило почти никакво предимство в производителността, но би било дразнене на размера на чипа и неговата консумация на енергия.

Следващата графика показва увеличението на производителността на AMD и Nvidia с Mark Time Spy 3D асинхронни шейдъри:

Дали Nvidia ще прилага хардуерни асинхронни шейдери в бъдеще зависи от ползите, превишаващи вредите.

Графични карти

Избор на редакторите

Back to top button