Lanzamento de D9VK 0.40, implementación de Direct3D 9 enriba de Vulkan

tivo lugar lanzamento do proxecto D9VK 0.40, que proporciona unha implementación de Direct3D 9 que funciona mediante a tradución de chamadas á API gráfica VulkanO proxecto baséase na base de código do proxecto DXVK, que foi ampliado para ser compatible con Direct3D 9. En comparación coa implementación de Direct3D 9 baseada en WineD3D, D9VK permite un maior rendemento, xa que a tradución de Direct3D 9 a través de OpenGL é máis lenta que a tradución a través de Vulkan.

O D9VK pódese usar para executar aplicacións e xogos 3D en Linux usando Wine. Admítense a maioría dos xogos Direct3D 9 que usan Shader Model 2 ou 3. Código do proxecto distribuído por Baixo a licenza de código aberto Zlib. D9VK require controladores compatibles coa API de Vulkan, como AMD RADV 18.3+, NVIDIA 415.22+, Intel ANV 19.0+ e AMDVLK.

Melloras principais:

  • Implementouse a capacidade de usar máis de 4 GB de memoria de vídeo en aplicacións de 32 bits, o que solucionou problemas ao iniciar mods para Skyrim e Oblivion;
  • O procesamento asíncrono da saída de renderización na pantalla (fase de presentación) está activado. Para reducir a latencia no fío de renderización principal, o procesamento da saída realízase no fío de envío de comandos;
  • Elimináronse os puntos de sincronización do fluxo de comandos innecesarios ao recuperar os datos solicitados;
  • O código para determinar o tempo interno cambiouse para usar un temporizador específico da plataforma, o que axudou a resolver problemas co comportamento incorrecto de high_resolution_clock de MinGW;
  • Asegurábase que os búferes diferidos de MANAGED e SYSTEMMEM se descargasen antes da execución de PrepareDraw, o que resolveu problemas de rendemento en Risen e Legend of the Heroes: Trails of the Sky;
  • Soporte engadido D3DTA_CONSTANTE, o que permitiu implementar unha renderización correcta efecto de brillo nos xogos SpinTyres e Mudrunner;
  • Compatibilidade mellorada con DirectX 9Ex (D3D9Ex). Tivéronse en conta as especificidades de ResetEx e o procesamento de Reset;
  • Realizouse a limpeza e a refactorización do código;
  • Implementouse o mapeo directo dos búferes WRITEONLY, o que pode ter un impacto positivo no rendemento e solucionar un erro no xogo.
    Counter-Strike: Global Offensive, facendo que o búfer continúe gravando despois de ser desbloqueado;
  • Método implementado DefinirModoCaixaDeDiálogo, que permite usar caixas de diálogo en aplicacións de pantalla completa;
  • Apoio implementado mestura de vérticesAta mestura de vértices indexados, necesario para SWVP (SoftWare Vertex Processing);
  • O contador de mostras que se mostra sobre a imaxe actual (pantalla frontal, HUD) foi redeseñado;
  • Engadiuse a opción d3d9.dialogBoxMode, que se pode usar para desactivar o funcionamento só en pantalla completa;
  • Optimizáronse os resultados e resolveuse o problema que se producía ao iniciar xogos de GTA: San Andreas, The Masquerade Bloodlines, Max Payne 2, The Sims 2, Silent Hunter 3, Senran Kagura Shinovi, Dungeons and Dragons, Crysis, Metal Slug X, ANGLE, Need for Speed: Carbon e Risen 1.

Ademais, pódese sinalar intención desenvolvedor de proxectos DXVK (implementación de DXGI, Direct3D 10 e Direct3D 11 sobre a API de Vulkan) para centrar os esforzos na corrección de erros por agora, mentres se ralentiza a expansión da funcionalidade. Tal desexo causado por Preocupacións sobre a diminución da calidade da base de código e o aumento da complexidade do mantemento no futuro. Cada actualización da rama 1.4.x xera queixas sobre cambios regresivos que non se poden reproducir, localizar nin corrixir.

Estes problemas requiren unha investigación das súas causas raíz; se non, deixalos sen arranxar mentres se continúa a expandir a funcionalidade só podería empeorar a situación e converter o proceso de mantemento nunha auténtica pesadela. Os plans que o desenvolvedor de DXVK ten previsto implementar antes de cambiar ao modo de só corrección de erros inclúen engadir compatibilidade con algunhas extensións útiles de Vulkan e fusionalas co traballo do proxecto D9VK.

Engadido: quente nos talóns formado liberación correctiva D9VK 0.40.1, que corrixido O valor predeterminado para COLOR0 nos sombreadores de vértices cambiouse a vec4(1) e corrixiuse un erro que impedía que os bits de ranura para as saídas predeterminadas dos sombreadores non se aplicasen correctamente e, polo tanto, o backend non os corrixía correctamente, o que provocaba que fosen substituídos por vec4(0).

Fonte: opennet.ru

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster