Rilascio di DXVK 3.0

Dopo sei mesi di sviluppo è stata rilasciata una nuova versione di DXVK (Direct3D to Vulkan Translation Layer), una libreria open source che converte le chiamate API Direct3D 8, 9, 10 e 11 in comandi Vulkan. Essa consente di eseguire applicazioni e giochi 3D, sviluppati per Windows, su sistemi in cui manca il supporto nativo per Direct3D, sfruttando al contempo le capacità di un'API grafica Vulkan più efficiente.

Modifiche principali
Nella nuova versione è stato effettuato il passaggio all'uso delle specifiche e delle estensioni Vulkan 1.4, il che richiederà di conseguenza un driver compatibile.

DXVK ora utilizza dxbc-spirv per la compilazione degli shader per tutti i modelli di shader supportati. Questo risolve una serie di problemi che in precedenza erano impossibili da affrontare:
Problemi di rendering nei giochi, causati o dal fatto che i giochi si basano su comportamenti indefiniti, o dal fatto che FXC genera codice errato in alcuni casi, come in Postal: Brain Damaged, Snowrunner
Il codice generato è più compatto rispetto al semplice codice SPIR-V convertito, il che riduce notevolmente la quantità di memoria occupata da DXVK. In giochi come Overwatch o God of War, ciò consente di risparmiare circa 1 GB di memoria di sistema.
La compilazione degli shader è ora completamente spostata sui thread di lavoro, il che può ridurre i tempi di avvio in giochi come Days Gone e Final Fantasy XIV, o in alcuni casi diminuire i blocchi. In passato, DXVK eseguiva la traduzione SPIR-V nel thread dell'applicazione e compilava solo i veri pipeline Vulkan nei processi di lavoro.
La rappresentazione intermedia degli shader compilati da DXVK è ora memorizzata nella cache sul disco all'interno della directory AppData/Local del prefisso Wine corrente. Ciò è necessario poiché il tempo di compilazione è aumentato rispetto al vecchio compilatore. Il percorso della cache può essere modificato utilizzando la variabile ambiente DXVK_SHADER_CACHE_PATH.

La nuova estensione Vulkan VK_EXT_descriptor_heap è ora utilizzata per impostazione predefinita nei driver che la supportano.
Si prevede che, rispetto alla vecchia implementazione del modello di binding basato su VK_EXT_descriptor_buffer, questo nuovo modello fornisca approssimativamente lo stesso livello di prestazioni legato alla CPU, evitando al contempo il degrado delle prestazioni sui GPU Nvidia (è richiesto nvidia-drivers-595.84 e versioni successive)
Modifiche a D3D9
Per emulare una pipeline obsoleta con funzioni fisse, che consente ai giochi D3D8 e D3D9 di eseguire il rendering senza shader, DXVK generava in precedenza codice shader personalizzato al volo in base allo stato della pipeline. In alcuni giochi, come Unreal Tournament 2004, questo poteva portare a evidenti rallentamenti anche dopo lunghi periodi di gioco.

Per risolvere questo problema, DXVK ora implementa la pipeline a funzioni fisse sotto forma di una coppia di uberschader, per i quali varianti ottimizzate vengono compilate in background.
Ottimizzazione del caricamento del buffer
Per allinearsi meglio al comportamento di Windows, i vari tipi di buffer che in precedenza venivano allocati direttamente nella VRAM ora vengono caricati su richiesta; è stata inoltre implementata una strategia di limitazione della memoria che risolve i crash legati allo spazio degli indirizzi in diversi giochi D3D9 a 32 bit.
Questi cambiamenti possono anche migliorare le prestazioni sui sistemi senza dimensione BAR modificabile in giochi come GTA IV.

Nei sistemi che supportano adeguatamente VK_EXT_sample_locations e VK_EXT_extended_dynamic_state3, lo stato di rendering D3DRS_MULTISAMPLEANTIALIAS ora funziona correttamente, consentendo alle applicazioni di utilizzare la rasterizzazione con un campione per il rendering in oggetti di rendering con più campioni. Questo elimina problemi di rendering dell'interfaccia utente in Anno 1701, Men of War Assault Squad e problemi simili in altri giochi con MSAA attivato.

Le risorse comuni ora funzionano con l'implementazione originale di Wine e non richiedono più patch specifiche per Proton.

Si devono inoltre menzionare numerosi fix per vari giochi, che ora funzioneranno meglio.

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster