DirectX 12 - більш висока ігрова продуктивність без апгрейда? Це можливо?


[img]http://windowstips.ru/wp-content/uploads/2015/03/DX12.png?34342c[/img]

Ви пам'ятаєте, коли з'явилися перші так звані багатоядерні процесори? Майже 15 років тому! Вони відбулися від безвиході, до якої призвела так звана «війна мегагерц» – давнє суперництво між двома основними конкурентами на ринку мікропроцесорів Intel і AMD. Багато років основним мірилом успіху в цій гонці була тактова частота чіпів, а принцип був «чим більше, тим краще».

На початку нового століття в обох таборах стало кристально ясно, що незабаром «накачування» мегагерц зіткнеться з непереборною стіною технологічних обмежень і перестане бути джерелом палива для так званого «Закону Мура». Рішенням цієї проблеми стала багатоядерність – мікросхеми з двома і більше ядер на одній кремнієвій пластині, які працюють паралельно і таким чином досягають більш високої продуктивності.

У теорії цей підхід здавався набагато більш розумним і ефективним – замість того, щоб постійно збільшувати тактові частоти, що призводить до значного збільшення виділення тепла і споживання енергії, потрібно об'єднати декілька ядер в одному чіпі, які будуть розділяти між собою трудомісткі обчислення, щоб виконувати більше роботи за одиницю часу.

Реальність, на жаль, виявилася трохи менш оптимістичною – щоб отримати бажаний результат, можливість паралельної роботи повинна підтримуватися не тільки апаратними засобами (багатоядерним чіпом), але і програмним забезпеченням – зокрема, операційною системою і додатками.

API Overhead Feature Test DX12

На жаль, навіть сьогодні, через 15 років після появи перших комерційних версій процесорів з двома і більше ядер, в цьому питанні є ще багато побажань. Хоча підтримка багатоядерності на рівні операційної системи вже давно факт, додатків, які в повній мірі використовують можливості паралельної обробки інформації, все ще порівняно мало. Це, звичайно, не дивно – у світі високих технологій апаратні засоби традиційно випереджають програмне забезпечення не менше ніж на три кола. У зв'язку з цим перед користувачами постає цікаве питання: «Який сенс в покупці, скажімо, чотириядерного процесора, якщо на практиці він забезпечить точно такий же рівень продуктивності, як і варіант з двома ядрами?»

Ситуація стає ще більш цікавою, якщо взяти до уваги досить серйозні відмінності у швидкодії між процесорами останнього покоління від Intel і AMD. У порівняльних тестах нерідко виявляється, що чіп AMD з 6 або навіть 8 ядрами менш продуктивний, ніж 4-ядерний процесор від Intel.

Особливо різкі ці відмінності, коли мова заходить про сучасних додатках, а саме, комп'ютерних іграх, пред'являють виключно високі вимоги до апаратного забезпечення.

Ситуація на ринку PC-геймінгу така, що відеокарта в конфігурації комп'ютера має суттєво важливе значення для ігрової продуктивності ніж центральний процесор.

Причина цього в значній мірі полягає в тому, що наймасовіший програмний інтерфейс, що забезпечує 3D-прискорення на PC під управлінням Windows – DirectX – розроблений так, щоб максимально ефективно використовувати можливості графічного процесора. Що стосується центрального процесора – його використання приділяється порівняно мало уваги і часто різниця в продуктивності між одним чіпом і іншим (особливо якщо ми говоримо про моделі одного виробника) є незначною.

На щастя, з новим DirectX 12, який стане одним з найбільш значущих поліпшень в Windows 10, Microsoft збирається це змінити. Ще при первісному анонсі операційної системи компанія підкреслила, що зміни тут істотні і зокрема впливають на використання всіх доступних ядер процесора. У поточній версії інтерфейсу приріст продуктивності від використання одного - і багатопотокового режиму є мінімальним. Іншими словами, DirectX порівняно погано розподіляє завдання між ядрами процесора. В результаті один з них може бути завантажене на 80-100%, а решта просто не діють. З DirectX 12-це зміниться – Microsoft обіцяє збільшення продуктивності до 50%.

Це дуже хороша новина, оскільки це означає безкоштовний апгрейд – тобто лише шляхом переходу на нову версію DirectX (і Windows зокрема) користувачі отримають до 50 відсотків більше високу продуктивність в іграх на комп'ютерах з відеокартами, які підтримують DirectX 11. У теорії це звучить чудово, але як йдуть справи на практиці?

Поліпшені можливості DirectX 12 почали набувати чіткі контури минулого тижня, коли Futuremark випустили цікавий додатковий модуль для самого популярного синтетичного тесту продуктивності 3D Mark. Він розроблений так, щоб максимально використовувати можливості нової Windows 10 і вбудованого в неї DirectX 12.

Принцип, на якому працює тестовий модуль, відносно простий – він вимагає, щоб центральний процесор намалював на екрані певну геометричну фігуру. Команда проходить через програмний інтерфейс (DirectX) і передається від центрального до графічного процесору.

Поступово навантаження збільшується, а фінальний результат тесту показує, скільки геометричних фігур було намальовано до падіння кількості кадрів в секунду нижче критичного мінімуму в 30fps, необхідних для комфортної гри.

Futuremark підкреслюють, що мова йде про тест, зосередженому виключно на використання центрального процесора і який майже повністю ігнорує доступний графічний чіп. Тобто новий модуль не може і не повинен використовуватися для порівняння продуктивності відеопроцесорів.

Результати тесту, проведеного на геймерський PC середньої цінової категорії, який використовує чотирьохядерний процесор Intel, виглядають виключно цікаво. Вони демонструють не просто очевидне, а нищівної перевагу нового DirectX 12 перед старою 11-ої версії, так як приріст продуктивності вимірюється не у відсотках, а в десятки разів!


dx12_api_perf_4770k_titanx-100575302-orig.png dx12_performance_simulated_cpus_updated-100575301-orig.png

Не менший інтерес представляють і тести процесорів з різною тактовою частотою і кількістю ядер. Загальновідомо, що чіп з нижнього класу, що працює на підвищеній тактовій частоті, може показати одну і ту ж або навіть більш високу продуктивність при порівнянні з процесором більш високого класу, які працюють на номінальній частоті. DirectX 12 змінить і це, так як новий програмний інтерфейс віддає видиме перевагу більшій кількості ядер, а не тактовій частоті.

Це відмінна новина для власників багатоядерних процесорів AMD. При поточному стані справ не секрет, що навіть 8-ядерний чіп AMD FX-8370 (Vishera) поступається у деяких ігрових новинках щодо пересічному двоядерному процесору Intel Core i3-4360. Однак при ефективному використанні всіх 8 ядер DirectX 12 може вирівняти становище справ і навіть дати деяку перевагу перед конкурентом AMD.

67492

Звичайно, всі ці дані повністю попередні. Більш того – вони результат синтетичних тестів і не відображають реальну ситуацію, оскільки, як ви знаєте, на ринку поки ще немає ігор з DirectX 12.

Тільки тоді, коли вони будуть випущені, ми отримаємо остаточну відповідь на два важливі запитання: «чи Дійсно новий програмний інтерфейс приносить настільки значні поліпшення ігрової продуктивності?» і «Як і наскільки добре будуть справлятися розробники ігор з реалізацією можливостей використання процесорних ядер, які пропонує DirectX 12?»