Noticias

D7VK v2.2 para juegos retro para Windows en Linux, soporte mejorado para Direct3D 3

Se lanzó D7VK v2.2 y continúa mejorando los juegos retro para Windows en Linux con mejoras de Direct3D 3 y varias correcciones de errores.

¿Qué exactamente? La idea, construida sobre DXVK, es proporcionar una traducción precisa y eficaz de Direct3D 7, 6, 5 y 3 a Vulkan en Linux para usar con Wine/Proton para ejecutar juegos de Windows.

Hablando de la nueva versión, el desarrollador dijo:

“Ha pasado mucho tiempo desde que se realizó un trabajo serio en alguna API específica de nuestra extensa familia de API D3D heredadas, pero desde su incorporación en D7VK v1.5, D3D3 ciertamente sigue siendo la más descuidada de todas.

Si bien todos los juegos de D3D3 que pude construir y probar funcionaron bien con el D7VK, la implementación definitivamente tuvo sus asperezas y casos de esquina en bruto que podrían mostrar signos de explotar en algunos juegos aún desconocidos. Esto fue especialmente problemático ya que los juegos de D3D3 son como el legendario «Palantir» de El Señor de los Anillos: los artefactos se pierden con el tiempo y, por supuesto, no todos se contabilizan. Con la versión 2.2, la compatibilidad con D3D3 finalmente coincide con todo lo demás. Ya sabes lo que dicen: “más vale tarde que nunca”.

También le recuerdan el lanzamiento de DXVK-Sarek 1.13.0 y las mejoras que traerá, así como todas las demás correcciones y adiciones que se detallan a continuación.

Residente demoníaco (1996)

Cambios clave

  • Rediseñado en base al reciente DXVK v3.1.
  • Se rediseñó el recálculo del dispositivo D3D3 para que se comporte exactamente como su propia implementación.
  • Capacidad de codificación de colores implementada correctamente para dispositivos D3D3 puros, ampliando el modelo muy simplista «siempre activo» que hemos tenido hasta ahora.
  • La refactorización de D3D3 realiza comprobaciones de búfer y otros casos extremos utilizando pruebas de Wine que se escribieron específicamente para el comportamiento de D3D3 (gracias a las amables almas que dedicaron su tiempo a escribirlas hace años).
  • Se mejoró la confiabilidad del procesamiento de texturas para D3D5/3, lo que garantiza que las superficies base no se salgan de alcance durante el uso.
  • Se corrigió un error de conversión del runbuffer D3D3 causado por una definición incorrecta del vértice de entrada FVF.
  • Se corrigió un error con cálculos de matrices de proyección obsoletos gracias a @CkNoSFeRaTU. Esto se descubrió debido a una prueba de Wine fallida, pero podría tener consecuencias negativas para (algunas) aplicaciones D3D6/5/3.
  • Manejo mejorado de cálculos de rango de color normalizados para claves de color, que ahora solo se actualizan cuando cambia la descripción de la superficie, por lo que se almacenan en caché y se optimizan para su reutilización. Como resultado, se espera que el rendimiento general de la transparencia de la clave de color en los juegos que la utilizan mejore de ligera a moderada.
  • Se corrigió una regresión causada por la modificación de la clave de color anterior, donde los cálculos de rango normalizado de clave de color podían dar como resultado una división por 0 si se aplicaba a superficies con paleta. Estos tipos de superficies ahora generalmente se ignoran en la codificación de colores D3D.
  • Procesamiento reelaborado y mejorado. Begin() / Vertex() / End() Ruta de renderizado D3D6/5, lo que resulta en una reducción de la sobrecarga de memoria y un ligero aumento del rendimiento. Esto tuvo un cierto impacto positivo en Rana (1997).
  • Se corrigió un caso de esquina que permitía cambiar los descriptores de textura en texturas que no tenían descriptores asignados. Esta es una omisión válida pero sobre todo teórica que no se ha observado en la vida real.
  • Se mejoró ligeramente la lógica de seguimiento de bloqueo de superficie de solo lectura recientemente agregada, lo que reduce su sobrecarga.
  • Se eliminó la pesimización de las rutas de representación heredadas, ya que son igualmente necesarias y se usan en varios juegos D3D más antiguos.

🌐 Fuentes externas: GitHub-d7vk-v2.2
Artículo tomado de MuyLinux.xyz.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba