Valve обновила VKD3D-Proton — компонент, переводящий Direct3D 12 в Vulkan для Steam Play, добавив поддержку VK_EXT_descriptor_heap. Это расширение, доступное с Vulkan 1.4.340, позволяет напрямую управлять памятью дескрипторов, что улучшает переносимость и обеспечивает более стабильную производительность в играх, использующих Direct3D 12.
Как работает расширение VK_EXT_descriptor_heap 🛠️
Расширение заменяет автоматическое управление дескрипторами на явное, где разработчик выделяет и освобождает память для графических ресурсов. Это позволяет избежать узких мест в драйверах, таких как NVIDIA, где динамическое выделение вызывало падение производительности в требовательных проектах. Передавая контроль пользователю, сокращаются вызовы драйвера и достигается более предсказуемая производительность, особенно в сценариях с большим количеством объектов или текстур.
Тот день, когда дескрипторы перестали быть загадкой 🎲
До сих пор драйверы управляли дескрипторами, как потерянным носком в стиральной машине: они появлялись, когда хотели, и иногда застревали. С этим расширением разработчики могут сказать я это контролирую, и драйверы NVIDIA перестают жонглировать. Это как перейти от игры наудачу к инструкции по эксплуатации, хотя, наверняка, какой-нибудь программист уже скучает по волнению хаоса.