Новости Hardware

Использование асинхронных вычислительных блоков повышает производительность AMD Radeon в DirectX 12

В каждом графическом процессоре AMD с архитектурой GCN имеются так называемые асинхронные вычислительные блоки (Asynchronous Compute Engines, ACEs). Они отвечают за одновременную обработку нескольких задач. И, как оказалось, эти блоки можно использовать для работы с асинхронными шейдерами DirectX 12, получая выигрыш в производительности до 46 %.

Графический конвейер в DirectX 11

Графический конвейер в DirectX 11

Асинхронные шейдеры — новая возможность низкоуровневых API нового поколения, таких как DirectX 12, Vulkan и Mantle, недоступная на старых версиях DirectX и OpenGL. Она позволяет одновременно и асинхронно запускать несколько задач на выполнение на вычислительных ядрах графического процессора, будучи аналогом классической многопоточности, реализованной в современных центральных процессорах.

Параллелизм в DirectX 12

Параллелизм в DirectX 12

Зачатки многопоточности были реализованы ещё в DirectX 11, однако в современных графических процессорах, состоящих из тысяч вычислительных ядер, они не могут раскрыть всего их потенциала. В частности, DirectX 11 не допускает одновременный запуск многочисленных задач без существенного усложнения кода, а значит, существенная доля ресурсов GPU остаётся невостребованной и простаивает в ожидании.

Так дела обстояли до появления новых API: DirectX 12, Mantle и Vulkan, в которых были реализованы вышеупомянутые асинхронные шейдеры, позволяющие независимый запуск и одновременное выполнение множества задач. Но для работы данной технологии требуется и соответствующая поддержка со стороны графического процессора. Таковая поддержка имеется в чипах AMD с архитектурой GCN — каждый чип содержит минимум два блока ACE, а старшие модели несут на борту по восемь таких блоков.

Тестирование в LiquidVR показало, что использование асинхронных шейдеров увеличило производительность со 158 до 230 кадров в секунду, то есть примерно на 46 %. И дело не ограничивается демонстрационными программами и тестами: уже выпущен ряд игр, поддерживающих асинхронные шейдеры — Battlefield 4, InFAMOUS Second Son и The Tomorrow Children на платформе PS4 и Thief на платформе PC.

Пример с LiquidVR лишь показывает, какой выигрыш может обеспечить включение лишь одной функции — асинхронных шейдеров. Потенциал действительно впечатляет, и остаётся только надеяться, что этим потенциалом в должной мере воспользуются разработчики современных игр.

Источник:

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
window-new
Soft
Hard
Тренды 🔥