Lanzamiento de DXVK 1.10 y VKD3D-Proton 2.6, implementaciones de Direct3D para Linux

Está disponible el lanzamiento de la capa DXVK 1.10, que proporciona una implementación de DXGI (Infraestructura de gráficos DirectX), Direct3D 9, 10 y 11, trabajando a través de la traducción de llamadas a la API de Vulkan. DXVK requiere controladores que admitan la API Vulkan 1.1, como Mesa RADV 20.2, NVIDIA 415.22, Intel ANV 19.0 y AMDVLK. DXVK se puede usar para ejecutar aplicaciones y juegos 3D en Linux usando Wine, lo que sirve como una alternativa de mayor rendimiento a las implementaciones Direct3D 9/10/11 integradas de Wine que se ejecutan sobre OpenGL.

Cambios importantes:

  • Se eliminaron los controladores de sincronización de subprocesos innecesarios utilizados al cargar recursos en las implementaciones D3D11 y D3D9. El cambio mejoró significativamente el rendimiento de Assassin's Creed: Origins y otros juegos basados ​​en el motor AnvilNext, y también tuvo un efecto positivo en el rendimiento de Elex II, God of War y GTA IV.
  • Se optimizó el uso de D3D11_MAP_WRITE para los recursos cargados en la GPU, lo que ha mejorado el rendimiento del juego Quantum y potencialmente de otras aplicaciones.
  • Se optimizó la operación UpdateSubresource para actualizar pequeños buffers fijos. El cambio tuvo un impacto positivo en el rendimiento de God of War y posiblemente de otros juegos.
  • Se ha acelerado el procesamiento de recursos de carga y buffers intermedios en D3D11. El cambio redujo la carga de la CPU en algunos juegos.
  • Se agregó información al HUD de depuración que es útil para diagnosticar problemas de rendimiento, como información de sincronización.
  • Se eliminó el código de sincronización de la GPU para que no utilice ciclos de espera ocupados, lo que ha reducido el consumo de energía en los dispositivos móviles en algunos juegos.
  • Se agregó un código auxiliar para llamar a 3D11On12CreateDevice, que anteriormente causaba que las aplicaciones fallaran.
  • Se ha mejorado el rendimiento de los juegos Total War: Warhammer III, Resident Evil 0/5/6, Resident Evil: Revelations 2.
  • Se han resuelto problemas en los juegos ArmA 2, Black Mesa, Age of Empires 2: Definitive Edition, Anno 1800, Final Fantasy XIV, Nier Replicant, The Evil Within.

Además, Valve ha publicado el lanzamiento de VKD3D-Proton 2.6, una bifurcación del código base vkd3d diseñada para mejorar la compatibilidad con Direct3D 12 en el iniciador de juegos Proton. VKD3D-Proton admite cambios, optimizaciones y mejoras específicas de Proton para un mejor rendimiento de los juegos de Windows basados ​​en Direct3D 12, que aún no se han adoptado en la parte principal de vkd3d. Entre las diferencias, también se hace hincapié en el uso de extensiones modernas de Vulkan y las capacidades de las últimas versiones de controladores de gráficos para lograr una compatibilidad total con Direct3D 12.

Versículos nuevos:

  • Se han resuelto los problemas de Horizon Zero Dawn, Final Fantasy VII: Remake y Warframe, Guardians of the Galaxy, Elden Ring y Age of Empires: IV.
  • DXIL ha mejorado el código de sombreado generado para operaciones de carga y almacenamiento vectorizadas.
  • Carga de CPU reducida al copiar descriptores.
  • La biblioteca de canalización D3D12 se ha reescrito para proporcionar almacenamiento en caché de la vista SPIR-V generada a partir de DXBC/DXIL. El cambio permitió tiempos de carga más rápidos para juegos como Monster Hunter: Rise, Guardian of the Galaxy y Elden Ring.
  • El modelo de sombreador 6.6 está completamente implementado, incluido el soporte para acceso directo a ResourceDescriptorHeap[], operaciones atómicas de 64 bits, el método IsHelperLane(), sombreadores de cálculo derivados, el atributo WaveSize e intrínsecos matemáticos empaquetados (Intrinsics).

Además, podemos destacar la publicación por parte de Valve del código SteamOS Devkit Service y SteamOS Devkit Client con la implementación de un servidor y cliente que le permite descargar ensamblajes de sus propios juegos directamente desde su computadora a Steam Deck, así como realizar depuración y otras tareas relacionadas que surgen durante el proceso de desarrollo.

Fuente: opennet.ru

Añadir un comentario