uscita del layer , fornendo l'implementazione di DXGI (DirectX Graphics Infrastructure), Direct3D 10 e Direct3D 11, che funziona tramite la translitazione delle chiamate nell'API Vulkan. Per utilizzare DXVK avere driver compatibili con , come ad esempio
AMD RADV 18.3, NVIDIA 415.22, Intel ANV 19.0 e .
DXVK può essere utilizzato per eseguire applicazioni 3D e giochi su Linux tramite Wine, fungendo da alternativa ad alte prestazioni all'implementazione di Direct3D 11 integrata in Wine, che funziona sopra OpenGL. N le prestazioni della combinazione Wine+DXVK partono da un 10-20% in meno rispetto all'esecuzione in Windows, mentre l'implementazione di Direct3D 11 basata su OpenGL mostra una riduzione delle prestazioni più significativa.
Miglioramenti aggiunti:
- È stata implementata l'ottimizzazione utilizzando l'istruzione "discard" negli shader, basata sull'estensione Vulkan VK_EXT_shader_demote_to_helper_invocation e in grado di migliorare le prestazioni in alcuni giochi. Per utilizzare l'ottimizzazione è necessario aggiornare il componente winevulkan e i driver (Intel a Mesa 19.2-git e NVIDIA al driver proprietario 418.52.14-beta, i driver AMD non supportano ancora l'estensione VK_EXT_shader_demote_to_helper_invocation);
- È stata garantita l'elaborazione asincrona dell'output del risultato di rendering sullo schermo (fase ). Per ridurre i ritardi nel thread principale di rendering, l'elaborazione dell'output ora viene eseguita nel thread di invio comandi (command submission thread). Il guadagno in termini di prestazioni dall'elaborazione asincrona è particolarmente evidente durante l'output con un'alta frequenza di fotogrammi e durante l'elaborazione delle comandi ad alto carico. Tra i giochi in cui si osserva un aumento delle prestazioni c'è Quake Champions quando viene eseguito su sistemi con GPU AMD;
- È stata introdotta la possibilità di caricamento iniziale delle risorse utilizzando motori di copia (copy engine) forniti da dispositivi con supporto Vulkan (attualmente supportati solo dai driver AMDVLK e NVIDIA). Questa nuova funzionalità consente di migliorare leggermente la coerenza del tempo di fotogramma nei giochi che caricano un gran numero di texture durante il gioco;
- Migliorata la registrazione degli errori che si verificano in condizioni di carenza di memoria;
- Migliorata la compatibilità con MSVC (Microsoft Visual C++);
- Rimosse le verifiche cicliche duplicate durante l'output, il che può ridurre significativamente il carico sulla CPU in scenari con GPU limitate;
- Risolto il problema del doppio mapping delle subrisorse delle immagini, che si manifestava nel gioco Final Fantasy XIV;
- Risolto il crash dovuto al comportamento errato del metodo RSGetViewport, che si manifestava nel gioco Scrap Mechanic.
Fonte: opennet.ru
