AMD рассказала о преимуществах DX12 на примере теста 3DMark
Низкоуровневые API вроде Khronos Vulkan (в девичестве — AMD Mantle) и Microsoft DirectX 12 — вероятно, самое большое событие в игровой ПК-индустрии последних лет. Для тестирования ключевого преимущества этих API (возможности кратного увеличения вызовов отрисовки) компания Futuremark выпустила тест 3DMark API Overhead. AMD в своём блоге решила поделиться некоторыми результатами своего внутреннего тестирования в 3DMark API Overhead.
Результат первого тестирования AMD показывает прирост количества вызовов отрисовки на ускорителях Radeon R9 290X и Radeon R7 260X в разрешении 3840 х 2160 на системе с Core i7-4960X, 16 Гбайт ОЗУ, Windows 10 Technical Preview и AMD Catalyst 15.20.1012. С помощью DirectX 12 ускоритель R9 290X может обрабатывать в 16,5 раз больше вызовов отрисовки, чем при использовании DirectX 11; более слабая карта R7 260X демонстрирует 10,5-кратный прирост:
Во втором тесте 3DMark API Overhead компания решила продемонстрировать преимущества с точки зрения производительности на ватт в этом синтетическом приложении при разрешении 1920 х 1080. Использовалась система с гибридным чипом AMD A10-7850K, 8 Гбайт ОЗУ, Windows 10 Technical Preview и AMD Catalyst 15.20.1012. Как в режиме DirectX 11, так и в режиме DirectX 12 общее энергопотребление системы осталось одинаковым — около 86 Вт. При этом GPU смог обрабатывать в 6 раз больше вызовов отрисовки:
Третий тест демонстрирует превосходство DirectX 12 над DirectX 11 в деле использования многоядерных процессоров благодаря функции Multithreaded Command Buffer Recording, которая обеспечивает взаимодействие нескольких ядер процессора с графическим ускорителем. На представленном графике видно, что DirectX 11 в тесте 3DMark API Overhead не может использовать преимущества более 2 ядер, тогда в режиме DirectX 12 каждое новое ядро процессора AMD FX-8350 добавляет по 2,9 млн вызовов отрисовки в секунду. Использовалась система с графикой AMD Radeon R9 290X, 8 Гбайт ОЗУ, Windows 10 Technical Preview и AMD Catalyst 15.20.1012. По-видимому, более 6 ядер в этом тесте уже избыточно на R9 290X — видеокарта просто не справляется с обработкой команд отрисовки с достаточной скоростью:
Одной из главных задач API вроде DirectX 12 является увеличение производительности графики при снижении зависимости от CPU. Синтетические тесты показывают, что эти ожидания вполне оправдываются, но насколько возможности новых API будут использоваться в играх — покажет время.