Разработчики транслятора D7VK представили крупное обновление под номером 2.0, предназначенное для запуска старых игр эпохи API Direct3D 7 через Vulkan. Релиз принёс значительные оптимизации, которые в некоторых процессорозависимых проектах увеличили кадровую частоту более чем в 2 раза.
Основное внимание в новой версии было уделено устранению узких мест со стороны центрального процессора. Разработчик под псевдонимом CkNoSFeRaTU реализовал оптимизированные вручную инструкции SSE для вычислений в функции ProcessVertices. Благодаря этому изменению, а также доработкам механизмов доступа к буферам памяти, производительность существенно выросла в таких проектах, как Half-Life и Toy Story 2 - Buzz Lightyear to the Rescue.
Дополнительным источником прироста производительности послужила оптимизация встроенных систем отладки. Ранее многочисленные логгеры выполняли строковые операции даже в фоновом режиме, когда вывод логов был отключен. В версии 2.0 большинство этих логгеров были перенесены из критически важных путей выполнения кода или полностью устранены. В результате тесты производительности в 3DMark 99, 3DMark 2000 и классическом шутере Unreal Tournament показали заметный рост кадровой частоты, переведя основную нагрузку на графический чип. В играх с ограничением частоты кадров данное изменение позволит снизить общую загрузку процессора, освобождая ресурсы для симуляции игрового мира и искусственного интеллекта.
Помимо оптимизаций, проект D7VK был перенесен на кодовую базу актуальной версии DXVK 3.0.2. Разработчики добавили специальный обходной путь для распределения буферов памяти, что ускорило передачу данных в играх на движке GoldSrc, включая Half-Life, а также в хорроре SCP - Containment Breach. Кроме того, в коде была