uawikipc.ru

Огляд і тестування amd mantle - amd mantle опис тестування

Що таке Mantle і навіщо він потрібен? Детально вивчаємо переваги і перспективи низкоуровневого API для графічних процесорів AMD. Довгоочікувані результати перших бенчмарків Mantle в Battlefield 4 і Star Swarm

Дискретні графічні адаптери для настільних комп`ютерів є у багатьох відношеннях стандартизованими і абсолютно взаємозамінними пристроями. Ви не можете просто так замінити процесор Intel процесором AMD без супутньої заміни материнської плати (та й в рамках продукції одного виробника регулярно відбувається апгрейд платформи - системної логіки, роз`єму, типу оперативної пам`яті), а графічні карти, навпаки, можна змінювати скільки заманеться. Системна шина PCI-E, яка запанувала на довгі роки, не накладає на це ніяких обмежень. Програмне середовище для GPU також давно усталилася. Будь-відеоадаптер підтримує API DirectX, а поза ОС Windows ці функції виконує OpenGL.

З одного боку, така ситуація благотворна для виробників. Вона зробила можливим безперервний цикл поновлення GPU на більш продуктивні новинки і переміщення лінії фронту в конкурентній боротьбі AMD і NVIDIA. З іншого боку, будь-який GPU надзвичайно важко диференціювати від аналогів по будь-якою ознакою, крім продуктивності, яку він надає в даному ціновому сегменті. Звичайно, серед кваліфікованих покупців є люди зі стійкими уподобаннями на користь AMD або NVIDIA - ті самі, які кожен раз люто б`ються в коментарях до оглядам відеокарт. Це явище схоже на азарту футбольного вболівальника. Є і суто практичні причини любити або відкидати пристрої NVIDIA або AMD, але давайте визнаємо, що кон`юнктура на ринку змінюється з кожним новим витком прогресу GPU, часом абсолютно непередбачувано, а фанати залишаються фанатами.

Менш кваліфіковані покупці, не настільки занурені в технічні тонкощі, також мають свої переваги. Тут велике значення має імідж виробника та його продукції. NVIDIA і AMD зовсім не схожі в тому, яке послання несуть потенційному покупцеві. Маркетинг NVIDIA традиційно більш сильний і наполегливий в комунікації з кінцевим користувачем. Користуючись перевагою в продуктивності, яке супроводжує марці GeForce протягом всієї її історії, за винятком декількох окремих періодів невдач, NVIDIA дозволяє собі тримати відносно високі ціни. Нехай GPU NVIDIA дорожче, «але ж дорожче - значить краще» - таке їхнє приховане повідомлення. AMD сформувала для марки Radeon протилежний імідж. Цінова політика «червоних», як правило, агресивна у всіх сегментах продуктивності. Маси звикли думати, що в середньому ціновому діапазоні Radeon - це більш економний аналог GeForce, що володіє порівнянною продуктивністю, а нагорі Radeon нехай і не настільки швидкий, як кращі представники лінійки GeForce, зате як і раніше коштує дешевше.

Тим часом з чисто технічної точки зору епоха 28 нм була тріумфальною для AMD. Давненько не було такого, щоб відеокарти Radeon займали паритетні позиції з конкурентами від NVIDIA в сегменті High-End. Тепер AMD переходить в масштабний наступ вже на ідейному фронті. Недостатньо, щоб Radeon вважали швидким і доступним. Потрібно запропонувати покупцеві щось унікальне, чого не може дати конкурент.

Огляд і тестування AMD Mantle

NVIDIA давно працює в цьому напрямку. Саме вона першою презентувала GPU як прискорювач обчислень: API CUDA. Багато зусиль і грошей було вкладено в просування технології PhysX. За часів буму стереоскопічного 3D NVIDIA успішно осідлала хвилю, випустивши набір 3D VISION. З останніх ініціатив - консоль SHIELD з підтримкою трансляції ігровий картинки настільного ПК, модуль G-SYNC для дисплеїв. Це не рахуючи чисто софтверних технологій, випущених NVIDIA у вільний політ: методу згладжування TXAA і власної різновиди Ambient Occlusion - HBAO. Загалом, NVIDIA намагається вибудувати навколо марки GeForce власну екосистему.

AMD до пори не займалася чимось подібним. Якщо продукти Radeon і виділялися унікальними характеристиками, то була рання підтримка загальноприйнятих стандартів - свіжих версій DirectX і портів виведення. Зараз все різко змінюється. AMD виступила з низкою зухвалих ініціатив - впровадження HSA в APU сімейства Kaveri, апаратний DSP TrueAudio в останніх GPU на базі архітектури GCN і, власне, Mantle. Що спільне у всіх трьох нововведень - це суто технічний, фундаментальний характер. AMD в меншій мірі прагне створити екосистему і в більшій - дати своїм продуктам зримі переваги, які підтримують їх основну функцію - 3D-рендеринг в іграх.



Низькорівневий API: від 3dfx до next-gen-консолей

Mantle - надзвичайно амбітний крок. Будучи досі послідовним прихильником стандартних рішень, AMD раптом вирішила смикнути ковдру на себе, виступивши з пропрієтарним низькорівневим інтерфейсом для GPU на базі архітектури Graphics Core Next. Такого ніхто не робив з часів 3dfx і її API Glide. Але 3dfx був першопрохідцем, і створення власного API для нового класу пристроїв - 3D-прискорювачів - було неминучим. Сьогодні стандарти визначені. Ви пишете гри або під DirectX, або - під OpenGL. А по факту - DirectX давно здобув перемогу в Windows. Потрібні серйозні підстави для того, щоб підтримати третього, абсолютно незнайомого кандидата.

І такі підстави є. По-перше, ситуація, в якій Mantle протистоїть DirectX, зовсім не схожа на те, як з DirectX колись змагався Glide. Glide йшов в небуття разом з прискорювачами 3dfx. DirectX йшов на підйом разом з продуктами NVIDIA. Позиції AMD, навпаки, сильні як ніколи. Завдяки архітектурі GCN компанія зміцнила становище на ринку деськтопной графіки і, більш того, придбала монополію на поставки GPU для всіх консолей нового покоління.

Огляд і тестування AMD Mantle
3dfx Glide у всій красі (Quake 3, Voodoo 5 5500)

Власне, консолі нового покоління - це добра частина всієї історії про API Mantle. Якщо коротко, Mantle цілком може виявитися портом низкоуровневого API з Xbox One на PC, хоча офіційно Microsoft не підтверджує цю гіпотезу. Нагадаємо, що ми писали з цього приводу в загальному огляді лінійки Radeon R7 / R9.

Консолі, будучи платформою спочатку обмеженою в продуктивності і розрахованої на довгий життєвий термін, спонукають розробників по максимуму задіяти обчислювальні ресурси. Відбувається це не тільки за рахунок оптимізації ігрового коду, але і завдяки тому, що для однієї і тієї ж консолі, як правило, доступні два API: високорівнева (на кшталт DirectX або OpenGL) і низькорівневий, який дає прямий доступ до апаратних ресурсів, минаючи рівень абстракції з властивими йому обмеженнями і зниженням продуктивності. Візьмемо Xbox One. Відомо, що в якості високорівневого API там використовується не що інше, як DirectX 11.2, а сама ОС є різновидом Windows. Але неминуче повинен бути присутнім і низькорівневий API графічного процесора. Написаний під різновид Windows ... Чи можна вважати збігом, що незадовго до релізу нової консолі від Microsoft AMD представила низькорівневий API до архітектури Graphics Core Next для найпопулярнішою десктопной ОС?

Треба зізнатися, що поки немає прямих підтверджень того, що Mantle є низькорівневим API, перенести на Windows прямо з операційки Xbox One. Ось тільки припущення виглядає вже дуже переконливо. Адже Mantle навіть підтримує рідний для Xbox One Direct3D HLSL (High Level Shader Language). Та й сама AMD як на слайдах презентацій, так і устами своїх представників, не вдаючись у подробиці, говорить про те, що Mantle допомагає перенести на ПК оптимізації консольних розробок.

Огляд і тестування AMD Mantle

Якщо вірити AMD, низькорівневий інтерфейс програмування GPU - це те, чого розробники ігор під Windows бажали довгі роки. А коли дійсно так, то зрозуміло чому. В цілому будь-який додатковий рівень абстракції забирає на себе певну частку продуктивності, часом істотну. Прямий доступ до GPU, минаючи виклики DirectX, за визначенням здатний вивільнити певний відсоток прихованого швидкодії. До того ж AMD краще, ніж хто б то не було, обізнана про особливості архітектури GCN і знає, де можна зрізати кути.

Проблема draw calls

Широкій публіці відомо не дуже багато технічних подробиць про властивості і конкретні переваги Mantle. Та й сам матеріал здебільшого незрозумілий для публіки, далекій від програмування (особливо програмування 3D-рендеринга). У фокус уваги потрапив один предмет, яким Mantle найбільш вигідно відрізняється від DirectX, - draw calls. Кількість draw calls - це те, що відрізняє кадр з безліччю окремих об`єктів від кадру з небагатьма складними об`єктами, нехай сукупна складність видимої геометрії у них однакова. Коли ми бачимо 3D-модель автомобіля, ми маємо справу з невеликою кількістю «великих» draw calls. Ігрова сцена з шутера з масою розлітаються уламків від вибуху, армія в RTS, натовп гравців в MMORPS - у всіх цих випадках використовується багато «дрібних» draw calls. І тут цілком ймовірно, що CPU стане пляшковим горлечком для продуктивності, в той час як GPU буде пропускати такти.

Ця проблема спливла під час переходу від DirectX 9 до DirectX 10, де «непродуктивні» витрати продуктивності на відпрацювання draw calls істотно скоротилися. І все-таки навіть за умови широкого впровадження DirectX 11, який успадкував оптимізації десятої версії, труднощі нікуди не поділися. Компромісне рішення - використовувати якомога менше draw calls - допустимо не завжди. І ось з`являється Mantle, покликаний звести overhead на відпрацювання draw calls до мінімуму: теоретично можна отримати дев`ятиразовий швидкість генерації draw calls в порівнянні з DirectX 11.

Огляд і тестування AMD Mantle

Оптимізація draw calls - особливо вигідний предмет для AMD. Будь-розробник і геймер подякує за додаткові FPS в гальмують сценах, наповнених розрізненої геометрією. Але особливо гостро питання постає в умовах дефіциту потужності CPU. А це як раз випадок AMD. Навіть Mantle не може врятувати процесори AMD FX, а ось для APU при вмілому використанні він послужить хорошу службу. Інша користь від швидких draw calls - оптимізація фізики руйнувань, вибухів і подібних процесів, причому не просто для того, щоб зробити ефекти більш пишними, а з метою забезпечити інтерактивну взаємодію з динамічно формується середовищем.

Дозволимо собі більш детальний екскурс в цю тему. Уніфіковані шейдерні архітектури дали можливість симулювати на GPU розліт осколків, текучі речовини і подібні предмети, що вимагають масштабних паралельних обчислень, які занадто повільно вирішуються силами CPU. Проблема в тому, що в більшості ігор додаткова геометрія, породжена GPU, залишається не більше ніж візуальним ефектом, накладеним на сцену. Гарний дим, туман, оскільки, але взаємодія з ними обмежена. Чому?

Огляд і тестування AMD Mantle

Механізм можна описати так. CPU просто віддає завдання на генерацію об`єктів графічного професору за допомогою API PhysX або OpenCL. Але глибша участь ігрового движка в долі того, що вийшло в результаті, вимагало б передавати великі обсяги даних по шині PCI-E, з відповідним збитком продуктивності. Проблема вирішується впровадженням архітектури HSA, в рамках якої CPU і GPU мають доступ до загальної адресного простору і обмінюються не даними, а покажчиками. Але з огляду на, що AMD вже подбала про впровадження HSA, залишилося тільки додати швидкі draw calls, щоб наблизитися до по-справжньому реалістичною і інтерактивній ігровій фізиці.

Огляд і тестування AMD Mantle

З технічної точки зору задум, що лежить в основі Mantle, бездоганний. Але успіх в кінцевому рахунку залежить від того, чи підтримають розробники починання AMD. Компанія особливо підкреслює, що запит на Mantle виходив саме від розробників. Зрозуміло, ми ніяк не можемо підтвердити або спростувати це твердження. Залишається тільки спостерігати за ринком. Втім, не можна не визнати, що Mantle стартував вельми бадьоро. Першою грою, що підтримує API, стала Battlefield 4. Незабаром до неї приєднається Thief, в більш віддаленому часу - Sniper Elite 3 і не настільки іменитий проект - космосим Star Sitizen. У Oxide Games розробили універсальний графічний движок Nitrous з підтримкою Mantle і опублікували в Steam бенчмарк, який демонструє його можливості. Власне, Battlefield 4 і Star Swarm (а також бета-версія драйвера Catalyst 14.1) дали нам довгоочікувану можливість протестувати продуктивність Mantle на практиці.

Поділитися в соц мережах:
Схожі
» » Огляд і тестування amd mantle - amd mantle опис тестування