В любом картинном микропроцессоре AMD с архитектурой GCN есть так именуемые синхронные вычисляемые блоки (Asynchronous Compute Engines, ACEs). Они отвечают за одновременную обработку нескольких задач. И, как выяснилось, эти блоки применяют для работы с синхронными шейдерами DirectX 12, получая выигрыш в мощности до 46 %.
Синхронные шейдеры — новая вероятность низкоуровневых API следующего поколения, таких как DirectX 12, Vulkan и Mantle, недосягаемая на старых вариантах DirectX и OpenGL. Она дает возможность синхронно и асинхронно запускать несколько задач на исполнение на вычисляемых ядрах графического микропроцессора, будучи примером традиционной многопоточности, реализованной в передовых центральных микропроцессорах.
Зародыши многопоточности были проданы ещё в DirectX 11, но в передовых графических микропроцессорах, заключающихся из миллионов вычисляемых ядер, они не в состоянии открыть всего их потенциала. Например, DirectX 11 не разрешает одновременный старт многих задач без значительного усложнения кода, следовательно, значительная часть ресурсов GPU остаётся ненужной и томится в предвкушении.
Так дела обстояли до возникновения свежих API: DirectX 12, Mantle и Vulkan, в которых были проданы упомянутые синхронные шейдеры, которые позволяют свободный старт и одновременное исполнение обилия задач. Однако для работы этой технологии требуется и аналогичная помощь со стороны графического микропроцессора. Такая помощь присутствует в чипсетах AMD с архитектурой GCN — любой чипсет имеет максимум 2 блока ACE, а младшие модификации несут на борту по 8 подобных блоков.
Испытание в LiquidVR продемонстрировало, что применение синхронных шейдеров повысило мощность со 158 до 230 сотрудников за секунду, другими словами приблизительно на 46 %. И дело не заканчивается пробными платформами и испытаниями: произведен ряд игр, поддерживающих синхронные шейдеры — Battlefield 4, InFAMOUS Second Son и The Tomorrow Children на базе PS4 и Thief на базе PC.
Образец с LiquidVR только демонстрирует, какой выигрыш может снабдить вложение только одной функции — синхронных шейдеров. Потенциал на самом деле удивляет, и остаётся лишь полагаться, что этим потенциалом в подобающей мере используют создатели передовых игр.