Које су разлике и шта треба да користите?

ДирецтКс 12 је објављен заједно са Виндовсом 10 2015. Са његовим издавањем, Мицрософтов ДирецтКс 12 је започео нову еру за играче и програмере игара. Способан да смањи оптерећење ЦПУ-а уз повећање перформанси ГПУ-а, ДирецтКс 12 је брзо стекао име.

Међутим, да ли је повећање перформанси заиста једноставно као прелазак са ДирецтКс 11 на ДирецтКс 12? Хајде да сазнамо тако што ћемо погледати разлике између ДирецтКс 11 и 12.

Шта је Мицрософтов ДирецтКс?

Као што је објашњено у нашем прегледу Мицрософт ДирецтКс-а, ДирецтКс је колекција интерфејса за програмирање апликација (АПИ) који се користе за руковање задацима у вези са мултимедијом. Ово укључује програмирање игара на платформама заснованим на Мицрософт-у као што су Виндовс и Ксбок. Да бисмо пружили неки контекст, хајде да укратко говоримо о АПИ-јима.

АПИ омогућава да два или више рачунарских програма међусобно комуницирају, о чему ћемо расправљати у нашем прегледу АПИ-ја. Замислите то као телефон. Ако вам мама пошаље поруку са листом намирница, ваш телефон ће примити те податке и приказати вам их. То је у основи АПИ.

Које су разлике између ДирецтКс 11 и ДирецтКс 12?

Дакле, које су разлике између ДирецтКс 11 и ДирецтКс 12? Једноставно речено, ДирецтКс 12 је најновија верзија ДирецтКс-а. Једна од најуочљивијих разлика је начин на који они комуницирају са вашим хардвером. Већина игара развијених са ДирецтКс 11 користи само између два и четири ЦПУ језгра. Једно од ових језгара обично говори ГПУ-у шта да ради.

Игра затим користи преостала језгра за руковање различитим поставкама које захтевају ЦПУ као што су честице игре или раздаљина цртања. С друге стране, ДирецтКс 12 шири радно оптерећење ЦПУ-а на више језгара и омогућава сваком језгру да истовремено разговара са ГПУ-ом.

ДирецтКс 12 такође долази са неким отмјеним звонима и звиждаљкама. Ово укључује асинхроно рачунарство и објекте стања цевовода (ПСО). Асинхроно рачунарство повећава искоришћеност ГПУ-а омогућавајући да више радних оптерећења ради паралелно. Ово у суштини откључава пуни потенцијал вашег ГПУ-а.

Осим графичког приказивања, ваш ГПУ се бави широким спектром других задатака, као што је покретање алгоритама за машинско учење. Са ДирецтКс 11, ГПУ може да обавља само један од ових задатака истовремено и одређеним редоследом. Перформансе су погођене када се то догоди јер се ваши ГПУ ресурси не користе ефикасно.

Замислите то као конобар у ресторану. Када конобар узме вашу наруџбу, прво вас пита шта желите да попијете. Када добијете пиће, питају вас шта желите за главно јело. Ваша наруџба се одвија у корацима. Конобар вас неће питати шта желите за десерт пре него што поједете главно јело. Иако је ово ефикасно, није толико ефикасно колико би могло бити.

У рачунарству, различит ГПУ ресурс би се бавио сваким задатком конобара. Док не добијете своје пиће, ресурси ГПУ-а потребни за преузимање поруџбине главног јела биће неактивни. Са асинхроним рачунарством ДирецтКс 12, конобар би могао да преузме вашу поруџбину одједном, као у ланцу брзе хране. Ово максимизира употребу ГПУ-а и побољшава перформансе ваших игара.

ДирецтКс 12 је такође увео објекте стања цевовода (ПСО). Са ДирецтКс 11, када се геометрија игре преда ГПУ-у да би се приказала, различита хардверска подешавања су одговорна за тумачење и приказивање ових података. Ово се зове графички цевовод и ток улаза и излаза података који се јављају док ваш ГПУ рендерује оквире. Међутим, графички цевовод ДирецтКс 11 није савршен.

Овај цевовод садржи колекцију различитих стања, укључујући стање растеризирања, стање мешања и стање шаблона дубине, између осталих компоненти. У ДирецтКс 11 постоје зависности између ових различитих стања. Као резултат, једно стање не може бити завршено док се претходно стање не дефинише. Ово смањује коришћење ГПУ-а и повећава трошкове ЦПУ-а по цену перформанси.

Да би се ово заобишло, ДирецтКс 12 је увео ПСО, објекте који описују стање целог графичког цевовода. ПСО су попут боце која садржи различита стања и компоненте потребне за стварање слике. Ово омогућава ГПУ-у да унапред обрађује свако зависно стање уместо да непрекидно поново рачуна стања на основу тренутног графичког цевовода.

Ово значајно смањује оптерећење ЦПУ-а које се налази у ДирецтКс 11 и побољшава перформансе. Дакле, како изгледа ова разлика? Па, према Мицрософт-у, ДирецтКс 12 смањује оптерећење ЦПУ-а до 50 процената и побољшава перформансе ГПУ-а за чак 20 процената. Иако су то нека значајна побољшања, то не значи да ћете видети исте резултате.

Зашто прелазак са ДирецтКс 11 на ДирецтКс 12 није једноставан

ДирецтКс 11 је први пут објављен за Виндовс Виста 27. октобра 2009. Дакле, са ДирецтКс 12 који је уследио 2015. године, постоји шестогодишњи јаз између ДирецтКс 11 и ДирецтКс 12. Током овог времена, хиљаде игара је развијено користећи ДирецтКс 11. Нажалост, прелазак са ДирецтКс 11 на ДирецтКс 12 је све само не лак.

ДирецтКс 11 је оно што се зове АПИ високог нивоа. Једноставно речено, програмери су лакши за рад са АПИ-ји високог нивоа. Резултат су стабилне, углађене игре које се могу играти. С друге стране, ДирецтКс 12 је АПИ ниског нивоа и другачија звер од ДирецтКс 11. Иако омогућава програмерима да фино подесе оптимизацију на грануларном нивоу, такође захтева опсежно знање за коришћење.

Имајући то у виду, игра развијена у ДирецтКс 12 могла би да заврши са лошијим перформансама у зависности од знања програмера о АПИ-ју. Нека побољшања долазе са ДирецтКс 12, али се заиста своди на то колико добро програмер може да га примени. Из тог разлога, многи програмери одлучују да се држе АПИ-ја високог нивоа као што је ДирецтКс 11.

ДКС 11 наспрам ДКС 12: Шта изабрати?

Одговор зависи од неколико ствари, попут игре коју покушавате да покренете. На пример, Гуилд Варс 2 ради на ДирецтКс 11. Чак и ако ваш ОС и хардвер могу да користе ДирецтКс 12, нећете имати опцију да изаберете ДирецтКс 11 у Гуилд Варс 2 јер га игра не подржава. Ово је у потпуности одлука програмера, АренаНет-а.

Аутор слике: Мартин Керстеин/Гуилд Варс 2

Веровали или не, АренаНету је било потребно девет година да пређе са ДирецтКс 9 на ДирецтКс 11. Међутим, неке игре подржавају и ДирецтКс 11 и ДирецтКс 12, укључујући Фортните (прочитајте нашу Фортните цхеат схеет), Баттлефиелд 5, Схадов оф Томб Раидер и још много тога. Корисници могу да прелазе између ДирецтКс 11 и ДирецтКс 12 у подешавањима игре.

Чињеница да неке игре подржавају и ДирецтКс 11 и 12 вероватно вас је навела да се запитате о перформансама у игри. Да ли одабир ДКС 11 или ДКС 12 доноси боље перформансе у игри? Следећи видео илуструје разлике између ДирецтКс 11 и ДирецтКс 12 у низу игара, приказујући виталне спецификације као што су просечни број фрејмова у секунди, употреба ЦПУ-а, употреба ГПУ-а и још много тога, користећи АМД Ризен 3600, Нвидиа ГеФорце РТКС 3060 Ти и 16 ГБ ДДР4 РАМ.

Резултати су изненађујући на много начина, са мало визуелне разлике понекад између ДКС 11 и ДКС 12, упркос вишегодишњој разлици између њихових лансирања. Можда сте такође приметили разлике у оптерећењу ГПУ-а и ЦПУ-а између обе верзије ДирецтКс-а, при чему ДКС 12 верзије сваке игре обично захтевају мање ресурса него старија ДКС 11.

Поред подршке у игрици, избор између ДирецтКс 11 и ДирецтКс 12 зависиће и од вашег хардвера. Скоро сваки модеран ГПУ ће подржавати ДирецтКс 12, али исто се не може рећи за старије ГПУ-ове као што је Радеон ХД 4870. Издан 2008. године, овај ГПУ подржава само до ДирецтКс 10. То значи да не би могао да покреће већину модерних игре, које се покрећу користећи ДирецтКс 11 и ДирецтКс 12.

Да ли је ДирецтКс 12 прави избор за вас?

Све у свему, прелазак са ДирецтКс 11 на ДирецтКс 12 није тако црно-бео као што звучи. Зависи од низа фактора као што су хардвер, софтвер, оперативни систем и да ли игра уопште подржава обоје. Све ово треба размотрити пре доношења одлуке, а то ће вероватно важити и за будуће генерације ДирецтКс-а.