VKD3D-Proton v2.14 já está disponível, trazendo várias melhorias para a camada Direct3D 12-to-Vulkan usada pelo Proton da Valve para rodar jogos do Windows no Linux.
Isso é usado diretamente pelo Proton, então você não precisa fazer nada no Steam Deck / Desktop Linux. O Proton Experimental tende a obter alterações com bastante regularidade, assim como o GE-Proton.
Novos recursos incluem implementação de estatísticas de quadros DXGI, um novo limitador global de taxa de quadros, suporte para formatos de vídeo planares como NV12, suporte aprimorado para geração de quadros DLSS3 via dxvk-nvapi e uma série de melhorias de desempenho.
Uma série de melhorias específicas de jogos também para jogos 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 e outros .
Na foto: o primeiro filho
Características
- Implemente estatísticas de quadros DXGI (fornecidas por DXVK DXGI).
- Implemente um limitador de taxa de quadros global (veja
VKD3D_FRAME_RATE
ouDXVK_FRAME_RATE
).
Também melhora o comportamento da apresentação com intervalo de troca > 1, já que usamos o limitador de quadros.
de presentes duplos agora. Também permite suporte para alvos de taxa de quadros completos em DXGI, o que normalmente envolveria uma troca de modo. - Implemente suporte para formatos de vídeo planares, como NV12.
- Agora implemente o viés de profundidade D24 corretamente na AMD se
VK_EXT_depth_bias_control
é suportado. - Fornece uma nova interface de interoperabilidade de comando que permite, por exemplo. B. dxvk-nvapi permite implementar a geração de quadros DLSS3.
- Use VK_KHR_compute_shader_derivatives se disponível.
- Use VK_EXT_device_generated_commands se disponível. Disponibilizar o nível de execução indireta 1.1.
- Implemente o heap de upload de GPU dos AgilitySDKs mais recentes. Permite controle explícito sobre ReBAR em vez de hacks heurísticos em jogos que usam a nova API.
- Implemente ID3DDestructionNotifier. Corrige alguns jogos específicos que aguardam suporte.
Desempenho
- Reduza o inchaço de VRAM em GPUs RDNA2 e 3 se
VK_MESA_image_alignment_control
está suspenso. - Melhore a sobrecarga da CPU para jogos que consultam continuamente o suporte ao formato swapchain.
- Remova a antiga heurística que favorecia uma latência de 2 frames dependendo do BufferCount utilizado.
O valor padrão para DXGI é 3, e usar 2 causou alguns problemas de desempenho com falta de GPU em vários jogos.
especialmente no convés.VKD3D_SWAPCHAIN_LATENCY_FRAMES
ainda está disponível como uma substituição para impor um padrão mais rígido. - Reescreva a lógica de entrega da fila para lidar melhor com padrões de entrega difíceis, como a geração de quadros FSR3 3.1.
Para implementações de fila gráfica única, o vkd3d-proton agora tenta realizar o agendamento básico de software do trabalho da GPU.
Isso pode causar degradação do desempenho da GPU em alguns outros casosVKD3D_CONFIG=no_staggered_submit
é uma maneira de desabilitar esse caminho de código.
Uma melhoria particularmente grande é o FF XVI no RADV com geração de quadros FSR 3, com desempenho quase duplicado em alguns casos.
Ainda estamos aguardando uma correção adequada no nível do kernel para resolver totalmente esse problema. - Reescreva a lógica de entrega da fila para usar menos envios “fictícios” de espera/sinal.
Ignora a sobrecarga patológica da CPU no AMDGPU, que em alguns casos requer mais de 20 ms para enviar o trabalho. - Reescreva a lógica de entrega da fila para tornar as atualizações esparsas mais eficientes.
Correções e soluções alternativas
- Retrabalhe várias consultas de multiamostragem para tornar as especificações mais corretas.
- Solução alternativa: bug de comportamento MSAA no World of Warcraft.
- Solução alternativa para uso incorreto/questionável de ID3D12PipelineLibrary no FF XVI.
- Sempre use números inteiros nativos de 16 bits para min16int. Corrige alguns bugs do mundo real onde os shaders esperam que o min16int seja sempre implementado como 16 bits.
- Solução alternativa para um bug de jogo que causava o congelamento da GPU no RADV em Dragon Age: Veilguard.
- Sempre produza os modos de ambiente de ponto flutuante corretos em shaders DXBC. Corrige olhos incorretos em Dragon Age: Veilguard em NV.
- Corrigido um possível erro de uso após liberação para alguns casos de atualização com poucos recursos.
- Validação correta quando o aplicativo tenta alocar um heap de descritor muito grande.
Corrige o Stalker 2 exibindo comportamento indefinido. - Como sempre, muitas correções diferentes no dxil-spirv.
- Solução alternativa para comportamento quebrado do AMDGPU ZeroVRAM em kernels 6.10+. Corrige falhas extremas aleatórias no Helldivers 2 na AMD.
- Solução alternativa para o problema de NV que causava travamento da GPU ao carregar um arquivo salvo em Star Wars: Outlaws.
- Em alguns casos, copiar entre BC <-> Imagens RGBA corrigidas.
- Adicionada uma solução alternativa para um bug do jogo em The First Descendant que resultava em reflexos incorretos do mapa do cubo em alguns casos.
- Solução alternativa: Skull & Bones trava na inicialização em GPUs NV desativando o suporte ao Reflex.
- Solução alternativa: Showdown não possui qualificadores precisos em vertex shaders, resultando em renderização quebrada.
- Solução alternativa para baixo desempenho da CPU em Red Dead Redemption.
Outro/Depurar
- Adicione suporte para instrução_qa_checks. Para depuração profunda, podemos ser notificados quando NaNs e Infs são gerados em shaders.
Para garantia de qualidade interna. - Adicione controle refinado do comportamento de controle de qualidade por sombreador. Para isolar problemas.
- Remova uma série de soluções alternativas de driver NV antigas e obsoletas. O novo limite é a série 535.
- A versão do SDK aumentou para 614 para corresponder ao AgilitySDK estável mais recente.
- Adicione um caminho de código opcional para oferecer suporte a DXBC por meio da biblioteca oficial dxilconv.
Este código não está habilitado em compilações de versão.
e atualmente destina-se apenas como uma forma de aproveitar as vantagens da instrumentação de controle de qualidade para shaders DXBC.
Todas as melhorias podem ser encontradas no changelog.