D7VK 2.1 вдвое сокращает время загрузки некоторых классических игр.

  • D7VK 2.1 снижает накладные расходы на создание объектов и улучшает кэширование, сокращая время загрузки в некоторых играх вдвое.
  • В обновлении исправлена ​​ошибка, связанная с использованием памяти после освобождения, которая могла привести к закрытию Arx Fatalis во время запуска.
  • Также добавлен необязательный маршрут для GetDC/ReleaseDC и внесены улучшения производительности для таких игр, как Resident Evil 2 и Empire Earth: The Art of Conquest.

Д7ВК 2.1

D7VK 2.1 теперь доступен как новая версия этого открытого графического трансляционного слоя, позволяющего запускать старые игры для Windows, основанные на Direct3D 7, 6, 5 и 3, на Vulkan. После значительных улучшений производительности, представленных в предыдущих версиях , это обновление в значительной степени сосредоточено на другом аспекте: сокращении времени загрузки и запуска игр . В некоторых играх эти улучшения сокращают время загрузки или запуска игры вдвое.

D7VK специально ориентирован на классические игры, использующие ранние версии Direct3D и всё ещё запускаемые на Linux с помощью Wine или Proton. Проект использует Vulkan в качестве бэкенда для этих старых API, заполняя пробел, который не решается напрямую современными версиями DXVK, ориентированными на Direct3D 8, 9, 10 и 11, или VKD3D-Proton, разработанным для Direct3D 12.

D7VK 2.1 ускоряет время загрузки классических игр.

Главная новинка в D7VK 2.1 связана с созданием и уничтожением объектов . В проекте уменьшены накладные расходы, связанные с отслеживанием жизненного цикла этих объектов, что снижает трудозатраты на этапах загрузки и инициализации игры.

Изменения напрямую влияют на время запуска. По словам разработчика, заметно улучшилось время загрузки нескольких игр, в некоторых случаях оно сократилось вдвое или даже больше по сравнению с предыдущими версиями D7VK. Хотя классические игры обычно не испытывают значительных проблем со временем загрузки на современном оборудовании, разработчики проекта считают, что эти оптимизации позволяют лучше использовать доступные ресурсы.

Также были внесены улучшения в систему кэширования. Сочетание снижения затрат на управление жизненным циклом объектов и более эффективного поведения кэша уменьшает объем работы, которую D7VK должен выполнять во время запуска приложения и некоторых последующих операций.

Также внесены важные исправления, устраняющие проблемы совместимости.

D7VK 2.1 не только оптимизирует время загрузки. Обновление также исправляет проблему использования памяти после освобождения , связанную с освобождением соответствующих поверхностей трафарета глубины . Эта ошибка появлялась только в некоторых бинарных файлах, скомпилированных с помощью MSVC или Clang, и могла привести к неожиданным сбоям некоторых игр при запуске.

Одной из затронутых игр была Arx Fatalis , которая могла вылетать при запуске. Исправление, включенное в D7VK 2.1, устраняет эту проблему и позволяет игре работать без возникновения этой конкретной ошибки.

Обновление также включает в себя доработки для отдельных игр. В частности, улучшена производительность Resident Evil 2 и Empire Earth: The Art of Conquest — двух классических игр, которые выиграют от обновлений в этой версии.

Новый необязательный маршрут для GetDC и ReleaseDC

Еще одна новинка Д7ВК 2.1 Это необязательный путь выполнения для вызовов. GetDC y ReleaseDCЦель состоит в улучшении производительности определенных игр, которые интенсивно используют эти функции.

Реализация является необязательной, поскольку её результаты в значительной степени зависят от поведения каждой игры. В некоторых случаях она может обеспечить повышение производительности, в то время как в других — привести к прямо противоположному эффекту и увеличить стоимость определённых операций.

Сам разработчик отметил увеличение частоты кадров примерно на 5-10% во время игры в Arx Fatalis при использовании этого метода. Однако то же самое изменение приводит к заметному снижению производительности при отрисовке главного меню игры. Поэтому это не универсальная оптимизация, которую следует включать без разбора, а скорее опция, которая может быть полезна в некоторых играх.

Интересное улучшение для запуска классических игр Windows на Linux.

Главное преимущество D7VK 2.1 заключается в его каталоге игр, который может показаться небольшим по сравнению с современными проектами, но остается актуальным для тех, кто использует Linux в качестве платформы для классических игр. Этот слой позволяет транслировать старые API Direct3D 3, 5, 6 и 7 на Vulkan, что делает возможным запуск этих игр с помощью Wine или Proton.

Это особенно полезно для игр, разработанных задолго до того, как современные графические API стали стандартом. Вместо того чтобы полагаться исключительно на традиционные реализации Direct3D, доступные через Wine, D7VK предлагает подход на основе Vulkan, который может обеспечить лучшую совместимость и производительность на современном графическом оборудовании и драйверах.

D7VK 2.1 теперь доступен.

D7VK 2.1 теперь доступен для скачивания из репозитория проекта. В этой новой версии меньше внимания уделяется значительному увеличению частоты кадров, чем в предыдущих обновлениях, и больше — улучшению внутренней работы слоя трансляции.

Снижение накладных расходов при создании объектов, улучшение кэширования и оптимизация процесса загрузки могут значительно сократить время загрузки в некоторых играх. Это дополняет исправление ошибки, приводящей к сбою в Arx Fatalis, внесение корректировок в другие игры и добавление нового необязательного пути для GetDC/ReleaseDC.

Таким образом, D7VK 2.1 продолжает улучшать очень специфический аспект игр на Linux: запуск классических игр, использующих старые графические API от Microsoft. Обновление демонстрирует, что в этом плане еще есть куда стремиться, даже если игры созданы десятилетия назад и работают на современном оборудовании.


Добавить в качестве предпочтительного источника в Google