Noticias

Direct3D 12 para el proyecto Vulkan VKD3D-Proton v2.14 ya está disponible con varias mejoras de rendimiento

VKD3D-Proton v2.14 ya está disponible y trae varias mejoras a la capa Direct3D 12 para Vulkan, que utiliza Proton de Valve para ejecutar juegos de Windows en Linux.

Proton lo usa directamente, por lo que no tiene que hacer nada usted mismo en Steam Deck/Desktop Linux. Proton Experimental tiende a realizar cambios con bastante regularidad, al igual que GE-Proton.

Las nuevas características incluyen la implementación de estadísticas de cuadros DXGI, un nuevo limitador de velocidad de cuadros global, soporte para formatos de video planos como NV12, soporte mejorado para la generación de cuadros DLSS3 a través de dxvk-nvapi y una serie de mejoras de rendimiento.

Muchas mejoras específicas para juegos como World of Warcraft, Final Fantasy XVI, Dragon Age: Veilguard, Helldivers 2, Star Wars: Outlaws, The First Descendant, Skull & Bones, Hunt: Showdown, Red Dead Redemption y más. .


En la foto – Primer descendiente.

Funciones

  • Implemente estadísticas de cuadros DXGI (proporcionadas por DXVK DXGI).
  • Implemente un limitador de velocidad de fotogramas global (consulte VKD3D_FRAME_RATE o DXVK_FRAME_RATE).
    El comportamiento de la vista con intervalo de reemplazo > 1 también mejora ya que en su lugar utilizamos un limitador de fotogramas.
    regalos duplicados ahora. También le permite mantener objetivos de velocidad de cuadros en modo de pantalla completa en DXGI, lo que generalmente significa cambiar de modo.
  • Implementar soporte para formatos de video planos como NV12.
  • Ahora implemente correctamente el desplazamiento de profundidad D24 en AMD cuando VK_EXT_depth_bias_control apoyado.
  • Proporcionar una nueva interfaz de comando que permita, por ejemplo, a dxvk-nvapi implementar la generación de tramas DLSS3.
  • Utilice VK_KHR_compute_shader_derivatives si está disponible.
  • Utilice VK_EXT_device_generated_commands si está disponible. Exponiendo la ejecución de la capa indirecta 1.1.
  • Implemente la carga de GPU en montón desde el último AgilitySDK. Permite el control explícito de ReBAR en lugar de hacks basados ​​en heurísticas en juegos que utilizan la nueva API.
  • Implementar ID3DDestructionNotifier. Se corrigieron algunos juegos específicos que se espera que admitan esta función.

Actuación

  • Reduzca la sobrecarga de la memoria de video en RDNA2 y 3 GPU cuando VK_MESA_image_alignment_control expuesto.
  • Reduzca la carga de la CPU para juegos que solicitan repetidamente soporte para el formato de encadenamiento.
  • Elimine la antigua heurística que favorecía un retraso de 2 fotogramas según el BufferCount utilizado.
    De forma predeterminada, DXGI está configurado en 3 y el uso de un valor de 2 resultó en algunos problemas de rendimiento en varios juegos debido a la falta de GPU.
    especialmente en Deca. VKD3D_SWAPCHAIN_LATENCY_FRAMES todavía está disponible como anulación para proporcionar un valor predeterminado más sólido.
  • Reescriba la lógica de despacho de la cola para manejar mejor los patrones de despacho complejos, como la generación de tramas FSR3 3.1.
    En implementaciones con una sola cola de gráficos, vkd3d-proton ahora intentará realizar la programación de software básica de la GPU.
    En algunos otros casos, puede resultar en un rendimiento reducido de la GPU y VKD3D_CONFIG=no_staggered_submit esta es la forma de desactivar esta ruta de código.
    Una mejora particularmente significativa es el FF XVI en RADV con marco FSR de tercera generación, en algunos casos con casi el doble de rendimiento.
    Todavía estamos esperando una solución adecuada a nivel de kernel para que este problema se resuelva por completo.
  • Reescriba la lógica de envío de cola para utilizar menos envíos de señales/espera «ficticios».
    Elimina la carga patológica de la CPU en amdgpu, que en algunos casos requiere más de 20 ms para enviar el trabajo.
  • Reescriba la lógica de envío de colas para que las actualizaciones poco frecuentes sean más eficientes.

Correcciones y soluciones

  • Se modificaron varias consultas de selección múltiple para que sean más precisas.
  • Solución alternativa para el comportamiento de MSAA en World of Warcraft.
  • Solución alternativa: uso erróneo/cuestionable de ID3D12PipelineLibrary en FF XVI.
  • Utilice siempre enteros nativos de 16 bits para min16int. Se corrigieron algunos errores del mundo real donde los sombreadores esperaban que min16int siempre se implementara como 16 bits.
  • Una solución alternativa para un error en el juego que causaba que la GPU se congelara en Dragon Age: Veilguard en RADV.
  • Utilice siempre los modos de entorno de punto flotante correctos en los sombreadores DXBC. Corrige ojos con fallas en Dragon Age: Veilguard en NV.
  • Se corrigió un posible error de uso después de la liberación para algunos casos poco comunes de actualización de recursos.
  • Verificación adecuada cuando una aplicación intenta asignar un montón de identificadores que es demasiado grande.
    Se solucionó un problema que causaba que Stalker 2 entrara en un comportamiento indefinido.
  • Como siempre, hay muchas correcciones diferentes en dxil-spirv.
  • Solución alternativa para el comportamiento incorrecto de memoria cero de amdgpu en kernels 6.10+. Se corrigieron fallas extremas ocasionales en Helldivers 2 en AMD.
  • Solución alternativa para un problema de NV que hace que la GPU se congele al cargar un archivo guardado en Star Wars: Outlaws.
  • Se corrigió la copia de imágenes BC RGBA en algunos casos.
  • Agregue una solución para un error del juego en The First Descendant que hace que los reflejos del mapa del cubo se rompan en algunos casos.
  • Solución alternativa: Skull & Bones falla cuando se ejecuta en GPU NV al desactivar la compatibilidad con Reflex.
  • Encontrar una solución alternativa: Showdown carece de calificadores precisos de sombreador de vértices, lo que provoca fallos en el renderizado.
  • Solución alternativa para el rendimiento lento de la CPU en Red Dead Redemption.

Varios/Depuración

  • Agregue soporte para Instrucción_qa_checks. Para una depuración profunda, nos permite recibir notificaciones cuando se generan NaN e Inf en los sombreadores.
    Para uso interno de control de calidad.
  • Agregue un control de comportamiento de control de calidad detallado para cada sombreador. Para limitar las preguntas.
  • Elimine un montón de soluciones alternativas antiguas y obsoletas para los controladores NV. El nuevo límite es 535 series.
  • Aumente el valor de SDKVersion a 614 para que coincida con la última versión estable de AgilitySDK.
  • Agregue una ruta de código adicional para admitir DXBC a través de la biblioteca oficial dxilconv.
    Este código no está incluido en las versiones de lanzamiento.
    y actualmente solo está diseñado para usarse con herramientas de control de calidad para sombreadores DXBC.

Consulte el registro de cambios para conocer todas las mejoras.

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