DirectX 12 – по-висока игрална производителност без ъпгрейд на хардуер? Възможно ли е?

1854.directx12v5

 

Спомняте ли си кога за пръв път се появиха така наречените „многоядрени“ процесори? Преди повече от 15 години! Те се родиха от безизходицата, до която доведе така наречената „война на мегахерците“ – проточилата се надпревара между двете основни конкурентни компании на микропроцесорния пазар – Intel и AMD. Години наред основно мерило за преднина в нея беше тактовата честота на произвежданите от тях чипове, а принципът беше „колкото повече – толкова повече“.
На старта на новия век обаче и в двата лагера започна да става кристално ясно, че скоро „помпането“ на мегахерци ще се сблъска с непреодолимата стена на технологичните ограничения и ще престане да бъде основното гориво захранващо така нареченият „Закон на Мур“. Решението на този проблем беше многоядреността – чипове с две и повече ядра върху една силициева пластина, работещи паралелно и постигащи по този начин по-висока производителност.
На теория този подход изглеждаше далеч по-разумен и ефикасен – вместо непрекъснато повишаване на тактовите честоти, водещо до по-голямо количество отделена топлина и увеличаваща се консумация на енергия, ядрата в един такъв чип трябваше да разделят трудоемките изчисления помежду си и така да вършат повече работа за единица време.
Действителността за съжаление се оказа една идея по-малко оптимистична – за да се получи желаният резултат, възможността за паралелна работа трябваше да се поддържа не само от хардуера (многоядреният чип), но и от софтуера – по-конкретно операционна система и приложения.

 

3dmark12preview-100575018-orig
За съжаление дори днес, 15 години след появата на първите комерсиални версии на процесори с две и повече ядра, все още има много какво да се желае по този въпрос. Макар поддръжката на многоядреност на ниво операционна система да е факт от доста време, приложенията, които се възползват в пълнота от опциите за паралелна обработка на информация все още са относително малко. Това разбира се не е изненада – в света на високите технологии традиционно хардуера изпреварва софтуера с поне три обиколки. Напоследък това изоставяне обаче изправя потребителите пред интересен въпрос: „Какъв е смисълът от покупка на процесор с да речем четири ядра, след като той ще ми осигури на практика същото ниво на производителност, както и вариант с две?“
Нещата стават дори още по-любопитни, ако вземем под внимание доста сериозните разлики в бързодействието между процесорите от най-ново поколение на Intel и AMD. В сравнителните тестове нерядко се оказва, че AMD чип с 6 или дори 8 ядра, на практика е по-нископроизводителен от Intel процесор с 4.

 

bf6bdc3a-a4fd-4026-a924-cb0852ae3d83
Особено драстични са тези разлики, когато става дума за едни от най-тежките и предявяващи изключително високи изисквания към хардуера съвременни приложения, а именно – видео игрите.
Всъщност през последните няколко години ситуацията в PC гейминга е такава, че графичният адаптер в една компютърна конфигурация е значително по-важен за игралната производителност от централния процесор.
Причината за това до голяма степен е, че най-масовият, програмен интерфейс, осигуряващ така нареченото 3D ускорение в едно Windows базирано PC – DirectX е така разработен, че да възползва максимално ефикасно от възможностите на графичния процесор. Що се отнася до централния процесор – на неговата утилизация се обръща сравнително малко внимание и често разликата в производителност от един чип към друг (особено ако говорим за модели на един и същ производител) е пренебрежимо малка.
За щастие с новия DirectX 12, който се очертава като едно от най-съществените подобрения на Windows 10, Microsoft са се заели да променят това. Още при първоначалния анонс на операционната система от компанията дебело подчертаха, че промените тук са съществени и засягат именно утилизацията на всички налични процесорни ядра. В настоящата версия на интерфейса прираста в производителност от използване на едно- и многонишковият режим е минимален. С други думи DirectX се справя сравнително слабо с разпределението на задачите между наличните процесорни ядра. В резултат обикновено едно от тях се улилизира на 80-100 процента, а останалите просто стоят и бездействат. С DirectX 12 това ще се промени като от Microsoft обещават „до 50 процентно подобрение в производителността“.

 

dx12_api_perf_4770k_titanx-100575302-orig
Това е изключително добра новина, тъй като означава на практика безплатен ъпгрейд – т.е. само от преминаването към нова версия на DirectX (и Windows в частност) би трябвало да получите с 50 процента повече производителност от хардуера, с който разполагате в момента. На теория звучи чудесно, как обаче стоят нещата на практика?

Подобрените възможности за утилизация на DirectX 12 започнаха да придобиват малко ясни очертания през миналата седмица, когато Futuremark пуснаха интересен, допълнителен модул за най-популярният си синтетичен тест за производителност 3D Mark. Той е разработен така, че да се възползва максимално от функциите на новия Windows 10 и вградения в него DirectX 12.
Принципа на който работи тестовия модул е относително прост – той изисква от централния процесор да начертае определена геометрична фигура на екрана. Командата преминава през програмния интерфейс (DirectX) и се предава от централния към графичния процесор.
Постепенно натоварването се увеличава, а финалния резултат от теста показва колко геометрични форми са били начертани преди броят кадри за секунда да падне под критичният минимум от 30 fps, необходими за комфортна игра.
При това от Futuremark подчертават, че тук говорим за тест концентриран изцяло върху утилизация на централния процесор и игнориращ почти изцяло наличният графичен чип. С други думи новият модул не може и не бива да се използва за сравняване производителността на видео процесори.

 

dx12_performance_simulated_cpus_updated-100575301-orig

Резултатите от тестовете проведени с геймърско РС от среден клас, използващо четириядрен процесор на Intel са изключително интересни. Те демонстрират не просто явно, а смазващо превъзходство на новия DirectX 12 пред по-старата, 11 версия, като прираста в производителността се измерва не в проценти, а в десетки пъти!
Интересно е и представянето в теста на процесори с различна тактова честота и брой ядра. До скоро азбучна истина в това отношение беше факта, че чип от по-нисък клас, работещ с повишена тактова честота нерядко демонстрира същата или дори по-висока производителност от по-висок клас процесор, работещ на номинал.
DirectX 12 явно ще промени и това, тъй като новият програмен интерфейс отдава видимо предимство на по-големия брой ядра, а не на тактовата честота.
Това може да се окаже изключително добра новина за собствениците на многоядрени AMD процесори. При настоящото положение на нещата не е тайна, че дори осем ядрен чип, като AMD FX-8370 (Vishera) изостава  в някой игрални заглавия от сравнително редови,  двуядрен процесор на Intel от ранга на Core i3– 4360.
При една по-добра утилизация на всички 8 ядра обаче, DirectX 12 може да изравни нещата, а кой знае дори да даде известно предимство на AMD конкуренцията.

 

67492
Разбира се всички тези данни са изцяло предварителни. Нещо повече – те са плод на синтетични тестове и не отразяват ситуацията в реални, DirectX 12 игрални заглавия, каквито предполагаме сте наясно все още липсват на пазара.
Едва когато те се появят ще получим окончателен отговор на два важни въпроса: „Дали наистина новия програмен интерфейс ще донесе толкова драматични подобрения в игралната производителност?“ и „Как и до колко добре ще се справят разработчиците на игри с имплементирането на страхотните (макар и все още само на теория) възможности за утилизация на процесорните ядра, които DirectX 12 предлага?“

Author: Драгомир Дончев

Share This Post On

Submit a Comment

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *