Vulkan 1.4.340 вышло расширение VK_EXT_descriptor_heap.
Vulkan 1.4.340 вводит критически важное расширение VK_EXT_descriptor_heap. Данное обновление направлено на фундаментальное решение проблем производительности при трансляции графических вызовов из API DirectX 12 в Vulkan, что актуально для пользователей Linux и экосистемы Proton.
Основная сложность трансляции игр через vkd3d-proton заключалась в архитектурном различии между DirectX 12 и старыми версиями Vulkan. DX12 использует модель дескрипторных куч (Descriptor Heaps), в то время как Vulkan опирался на дескрипторные наборы (Descriptor Sets). Это создавало избыточную нагрузку на центральный процессор и приводило к потере эффективности на уровне драйвера. Расширение VK_EXT_descriptor_heap вносит следующие коррективы:
- Прямое управление памятью: Приложения получают возможность управлять дескрипторами как обычными данными в памяти, что упрощает их обработку со стороны GPU.
- Устранение промежуточных слоев: Понятия descriptor sets и pipeline layouts становятся опциональными. Доступ к ресурсам осуществляется напрямую через смещения в куче.
- Унификация с HLSL: Новый интерфейс push data упрощает сопоставление с шейдерами, написанными на языке HLSL, используя механизмы root signature и descriptor table. Ожидаемый эффект Внедрение VK_EXT_descriptor_heap призвано минимизировать разрыв в производительности между Windows и Linux. Наиболее заметный прирост ожидается на видеокартах NVIDIA, архитектура которых ранее сталкивалась с трудностями при эмуляции модели дескрипторов DX12 через Vulkan. Также ожидается снижение частоты возникновения микрозадержек (статтеров), связанных с компиляцией и распределением ресурсов. Сроки реализации На текущий момент поддержка расширения находится на ранней стадии:
- NVIDIA представила бета-драйвер версии 580.94.16 с поддержкой данного функционала.
- В проекте Mesa (открытые драйверы для AMD и Intel) начата работа над реализацией в кодовой базе.
- Разработчикам Valve потребуется время на интеграцию API в слои совместимости Proton и vkd3d-proton. Практическое улучшение игрового процесса станет доступно конечным пользователям после выхода стабильных версий графических драйверов и обновлений клиента Steam в течение 2026 года.