Foi publicado o lançamento do projeto D7VK 1.12, que desenvolve a implementação das APIs gráficas Direct3D 3, 5, 6 e 7, propostas pela Microsoft em 1996, 1997, 1998 e 1999. O D7VK funciona através da conversão de chamadas para a API Vulkan e permite executar jogos retro baseados na API Direct3D 3, 5, 6 e 7 no Linux usando o Wine. O código do projeto é escrito em C++ e distribuído sob a licença Zlib. Como base para o desenvolvimento, foi utilizado o código do backend d3d9 do projeto DXVK — o D7VK converte as APIs Direct3D 3, 5, 6 e 7 em chamadas Direct3D 9, que são então traduzidas para a API Vulkan. O desenvolvedor não pretende incluir o D7VK na composição do DXVK, como foi feito com as implementações Direct3D 8 e Direct3D 9 sobre Vulkan.
No novo lançamento:
- Foi implementada uma série de otimizações de desempenho, principalmente relacionadas ao código da API executado no CPU. Os resultados de performance do D3D6 no teste 3DMark 99 Max aumentaram de 70685 pontos no D7VK 1.2 para 75283 no D7VK 1.12, enquanto o D3D7 no teste 3DMark 2000 v1.1 subiu de 45267 no D7VK 1.0 para 69566 no D7VK 1.12. Em algumas situações, as microotimizações permitiram um aumento significativo no FPS em sistemas com CPUs fracas; por exemplo, em Unreal Tournament, o FPS aumentou de 256 para 484, enquanto a carga no GPU caiu de 37% para 18%.
- A implementação da transparência baseada em chave de cor (Color Key) foi simplificada sem o uso de um canal alfa completo.
- Em D3D6/5/3, foram otimizadas as transformações de cor durante a limpeza da viewport.
- Para reduzir a quantidade de descritores (handles) utilizados, a alocação de descritores de texturas e materiais agora ocorre após a solicitação do aplicativo, e não no momento da criação da textura ou material.
- Foi realizada a transição para operar sobre o lançamento DXVK 3.0.1.
- Foram feitas correções que melhoram o suporte a jogos como Matrox TechDemo 3D, Star Trek: Starfleet Academy e The Sims: Complete Collection.
Fonte: opennet.ru
