D7VK 2.1 reduce a la mitad los tiempos de carga de algunos juegos clásicos

D7VK 2.1 ya está disponible como una nueva versión de esta capa de traducción gráfica de código abierto que permite ejecutar juegos antiguos de Windows basados en Direct3D 7, 6, 5 y 3 sobre Vulkan. Después de las importantes mejoras de rendimiento introducidas en versiones anteriores, esta actualización centra buena parte de su trabajo en otro aspecto: reducir los tiempos de carga y de inicio de los juegos. En algunos tÃtulos, las mejoras llegan a reducir el tiempo necesario para cargar una partida o iniciar el juego a la mitad.
D7VK está especialmente orientado a juegos clásicos que utilizan las primeras versiones de Direct3D y que pueden ejecutarse actualmente en Linux mediante Wine o Proton. El proyecto utiliza Vulkan como backend para estas API antiguas, cubriendo un espacio que no abordan directamente las versiones modernas de DXVK, centradas en Direct3D 8, 9, 10 y 11, ni VKD3D-Proton, destinado a Direct3D 12.
D7VK 2.1 acelera los tiempos de carga de los juegos clásicos
La principal novedad de D7VK 2.1 está relacionada con la creación y destrucción de objetos. El proyecto ha reducido la sobrecarga asociada al seguimiento del ciclo de vida de estos objetos, lo que permite disminuir el trabajo necesario durante las fases de carga e inicialización de los juegos.
El cambio tiene un efecto directo en los tiempos de arranque. Según el desarrollador, diferentes tÃtulos experimentan mejoras apreciables y algunos pueden llegar a reducir sus tiempos de carga a la mitad o incluso más respecto a versiones anteriores de D7VK. Aunque los juegos clásicos no suelen tener grandes problemas de tiempos de carga en hardware moderno, el proyecto considera que estas optimizaciones permiten aprovechar mejor los recursos disponibles.
También se han realizado mejoras en el sistema de caché. La combinación de un menor coste en la gestión del ciclo de vida de los objetos y un comportamiento más eficiente de la caché reduce el trabajo que D7VK debe realizar durante el inicio de una aplicación y durante determinadas operaciones posteriores.
También hay correcciones importantes de compatibilidad
D7VK 2.1 no se limita a optimizar los tiempos de carga. La actualización corrige además un problema de tipo use-after-free relacionado con la liberación de superficies de depth stencil asociadas. El fallo aparecÃa únicamente con determinados binarios compilados utilizando MSVC o Clang y podÃa provocar un cierre inesperado durante el arranque de algunos juegos.
Uno de los tÃtulos afectados era Arx Fatalis, que podÃa sufrir un bloqueo al iniciar. La corrección incluida en D7VK 2.1 soluciona este problema y permite ejecutar el juego sin encontrarse con ese fallo especÃfico.
La actualización también incorpora ajustes dirigidos a juegos concretos. Entre ellos se encuentran mejoras de rendimiento para Resident Evil 2 y Empire Earth: The Art of Conquest, dos ejemplos de tÃtulos clásicos que pueden beneficiarse del trabajo realizado en esta versión.
Una nueva ruta opcional para GetDC y ReleaseDC
Otra de las novedades de D7VK 2.1 es una ruta de ejecución opcional para las llamadas GetDC y ReleaseDC. El objetivo es mejorar el rendimiento de determinados juegos que hacen un uso intensivo de estas funciones.
La implementación es opcional porque sus resultados dependen considerablemente del comportamiento de cada juego. En algunos casos puede proporcionar una mejora de rendimiento, mientras que en otros puede producir exactamente el efecto contrario y aumentar el coste de determinadas operaciones.
El propio desarrollador ha observado un incremento de aproximadamente un 5-10 % en los FPS durante la partida de Arx Fatalis utilizando esta ruta. Sin embargo, el mismo cambio provoca una caÃda de rendimiento apreciable al representar el menú principal del juego. Por ello, no se trata de una optimización universal que deba activarse indiscriminadamente, sino de una opción que puede resultar útil en determinados tÃtulos.
Una mejora interesante para jugar a clásicos de Windows en Linux
La utilidad de D7VK 2.1 se encuentra principalmente en un catálogo de juegos que puede parecer pequeño frente a los tÃtulos modernos, pero que sigue siendo relevante para quienes utilizan Linux como plataforma de juegos clásicos. La capa permite traducir las antiguas API Direct3D 3, 5, 6 y 7 a Vulkan, haciendo posible utilizar estos juegos mediante Wine o Proton.
Esto resulta especialmente útil para tÃtulos que fueron desarrollados mucho antes de que las API gráficas modernas se convirtieran en el estándar. En lugar de depender exclusivamente de las implementaciones tradicionales de Direct3D disponibles a través de Wine, D7VK proporciona una vÃa basada en Vulkan que puede ofrecer una compatibilidad y un rendimiento más adecuados en hardware y controladores gráficos actuales.
D7VK 2.1 ya está disponible
D7VK 2.1 ya puede descargarse desde el repositorio del proyecto. La nueva versión supone una actualización menos centrada en grandes aumentos de FPS que las anteriores y más enfocada en perfeccionar el funcionamiento interno de la capa de traducción.
La reducción de la sobrecarga durante la creación de objetos, las mejoras de caché y las optimizaciones del proceso de arranque pueden reducir considerablemente los tiempos de carga en determinados juegos. A esto se suman la corrección del bloqueo de Arx Fatalis, los ajustes para otros tÃtulos y la nueva ruta opcional para GetDC/ReleaseDC.
Con ello, D7VK 2.1 continúa mejorando una parte muy concreta del juego en Linux: la ejecución de tÃtulos clásicos que dependen de las antiguas API gráficas de Microsoft. La actualización demuestra que todavÃa existe margen para perfeccionar estas experiencias, incluso cuando los juegos tienen varias décadas a sus espaldas y se ejecutan sobre hardware moderno.
.png)


















