Stránka 1 z 6

DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 17:43
od Krteq
DXVK - DirectX over Vulkan

DXVK je transakční vrstva pro běh DirectX 9/10/11 aplikací pod Vulkanem původně určená pro Linux, ale knihovny se dají použít i pod Windows. Díky DXVK lze pomocí Vulkanu částečně odstranit DX CPU bottleneck atp. a dosáhnout lepších FPS i průběhů frametimes

Více info na stránkách projektu: Download:
Stažení posledních předkompilovaných knihoven -> DXVK github - Releases

Instalace:
Stačí rozbalit archiv a zkopírovat .dll knihovny pro příslušnou architekturu kterou aplikace využívá (x32 nebo x64) do složky s hlavním spustitelným souborem (.exe) - ne launcheru apod. (často je hlavní spustitelný soubor ve složce "bin", "system" atd.

HUD/overlay:
DXVK má i vlastní HUD s možností editace, stačí ve Windows přidat vlastní systémovou proměnnou "DXVK_HUD" a definovat úroveň. Např. "DXVK_HUD = fps" zobrazí pouze FPS, "DXVK_HUD = full" zobrazí veškeré možné informace. Více informací o nastavení HUD jsou k nalezení na hlavní stránce projektu.

Upozornění:
  • Ne všechny aplikace/hry jsou schopné pod DXVK běžet
  • Při prvním spuštění aplikace/hry může docházet ke stutteringu kolísání FPS a podobným neduhům z toho důvodu, že DXVK si vytváří vlastní shader cache na disku. Při dalším spuštění by zmiňované neduhy měli zmizet (částečně vyřešeno skrze "DXVK Async" for - viz. níže)
"Debugging":
DXVK loguje inicializaci do souborů buď ve stejném umístění jako hlavní spustitelný soubor nebo v hlavní složce aplikace/hry. Logy mají tvar:
  • <executable>_d3d??.log (?? značí verzi DirectX kterou aplikace využívá - např. _d3d11.log)
  • <executable>_dxgi.log
//Existuje ještě DXVK Async fork - Thx to spajdr
spajdr píše:Existuje i DXVK Async verze

Improvements

Compatible with dxvk v1.4.5 - v1.7.3

Async pipelines are written to the state cache. The original patch doesn't since it was made before dxvk introduced the state cache. Previously you would end up with near empty state caches when using dxvk-async, now you can have the best of both worlds.

A lot less stutterring (nearly none at all in some games) by not blocking the main thread when compiling async pipelines. The downside is that the shader cache is around 5-10% larger (I guess due to duplicate shaders?). But the state cache is roughly the same size as a non-async produced state cache.

A new option dxvk.numAsyncThreads to specify the number of async pipeline compiler threads. Previously half the cpu thread count was used by default, now it's the same logic as the state cache.

https://github.com/Sporif/dxvk-async
Je sice třeba si to zkompilovat, ale zde to někdo pro všechny udělal pro aktuální 1.7.3 verzi
https://github.com/Sporif/dxvk-async/fi ... 7.3.tar.gz

//morke - přesunuto z ovladačů
//Přidáno info o DXVK Async

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 18:21
od HEAD
Ok postnul jsem dva logy.Far cry5 tam vse funguje a pak AC origins a ten se ani nespusti(a tak je to u vetsiny her)
Kde je teda problem?
https://ulozto.cz/tamhle/cA0M8uB0eFOs

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 18:37
od Krteq
Používáš nějaké overlays? RTSS, Steam, Origin atp.? Zkoušel jsi to bez nich?

Mě většina her funguje bez problémů, resp. ještě jsem nenarazil na hru kde by to vyloženě nejelo. Když používám DXVK, mám v RTSS vypnutou detection pro ten executable aby to nijak nekolidovalo.

//V logách řádný error není

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 18:54
od HEAD
I kdyz vypnu afterburer/steam, tak to nepomuze.Jinak far cry primal funguje, fallout4 funguje, Crysis3 nefunguje.

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 18:58
od Krteq
Nastav to takhle
Obrázek

A disabluj Enhanced Sync, ten je nekompatibilní s DXVK

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 19:15
od HEAD
Porad stejny.Funguje to jen u nekterych her :(

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 19:38
od Krteq
A máš tam správný knihovny? Exclusive fulscreen?

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 19:50
od Ache
Zajímavá věc, já měl také za to, že DXVK je jen pro linux :) ... nicméně sem zkusil ten Crysis 3 a katastrofa - využití GPU 33%, takže katastrofální fps:
https://abload.de/img/crysis3_2020_12_06_19tsj66.jpg

Zase ale Crysis 3 to nepotřebuje -pokud se to se SMT nebugne na těch 67fps + stuttery, tak lítá krásně nad 60+ fps... ale takový GTA 4 by mohl být zajímavý pokus. To i na moderních CPU stále má tendence padat pod 60 fps (limit CPU, ne grafiky) :)

EDIT:
GTA 4 nainstalovaný zrovna nemam, ale nejhorší PC hru co se týče optimalizace - SaintsRow 2 stále ano (je to lepší odreagovačka než GTA). A huh, tady je viditelný zlepšení (rychlo test). v obou případech stutter při pohybu městem, ale vyšší fpska :

https://abload.de/img/sr2_pc_2020_12_06_20_qgk78.jpg
https://abload.de/img/sr2_pc_2020_12_06_20_bqkot.jpg

tak to asi nějak fungovat může. :o

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 20:10
od Krteq
Ten stutter by tam měl být je při prvním puštění (resp. dokud se nevytvoří komplet shader cache), pak už by to mělo být lepší - viz. OP

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 20:35
od HEAD
Ja mam ve fallout4 dvojnasobek fps :-D na tom testovacim miste misto 85fps tam mam 154fps s v-sync.

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 20:39
od Krteq
HEAD píše:Crysis3 nefunguje.
Crysis 3 normálně funguje, dokonce i s RTSS overlay - viz. můj screenshot + Ache.

Obrázek

Nevím co tam máš zas blbě.

//Crysis 3 je stále 32-bit, tak tam zkopíruj korektní knihovny. Ten samý případ bude u tebe i to KCD :roll:

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 20:44
od spajdr
Existuje i DXVK Async verze

Improvements

Compatible with dxvk v1.4.5 - v1.7.3

Async pipelines are written to the state cache. The original patch doesn't since it was made before dxvk introduced the state cache. Previously you would end up with near empty state caches when using dxvk-async, now you can have the best of both worlds.

A lot less stutterring (nearly none at all in some games) by not blocking the main thread when compiling async pipelines. The downside is that the shader cache is around 5-10% larger (I guess due to duplicate shaders?). But the state cache is roughly the same size as a non-async produced state cache.

A new option dxvk.numAsyncThreads to specify the number of async pipeline compiler threads. Previously half the cpu thread count was used by default, now it's the same logic as the state cache.

https://github.com/Sporif/dxvk-async
Je sice třeba si to zkompilovat, ale zde to někdo pro všechny udělal pro aktuální 1.7.3 verzi
https://github.com/Sporif/dxvk-async/fi ... 7.3.tar.gz

Jako ale nevšiml jsem si že by se to nějak méně škubalo při prvním spuštění hry přes tuto verzi :-D

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 20:46
od Krteq
Díky, zkusím :)

//Tak rychlý test a můžu potvrdit že stutter (aspoň v C3) není ani při prvním spuštění
//@spajdr: A tu system variable pro ASYNC jsi přidal? :)
  • Set the environment variable DXVK_ASYNC=1 or use dxvk.enableAsync = true in dxvk.conf


@Ache: Já mám s DXVK GPU utilization porád na 99-100% (podle DXVK HUD). Uploadni někam ten svůj save, zkusím to tam.

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 22:22
od Ache
Save nepomůže - ve vítej v džungli to samý - GPU se fláká... Tady Vulkan nějak hapruje.
https://abload.de/img/crysis3_2020_12_06_22lhk97.jpg

- a procesor se fláká taky - tenhle úsek s trávou vytěžuje pod DX11 CPU na maximum. :)

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 22:52
od Krteq
Divný, u mě OK
Obrázek

Tam spíš hapruje NV Vulkan driver


//NV podporuje s 456.55 driverem jen Vulkan 1.2.142? Nemáš tam nějaký V-Sync nebo Fast-Sync apod.?

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: ned 6. pro 2020, 23:22
od Baneshee
Zkoušel jsem to v GTA4, hra se spustí, ale jsou tam 2 problémy
- detekuje to jen 512MB paměti na grafice, takže nejdou nastavit rozumný detaily
- nefunguje tam DSR - to rozlišení to vidí, ale když se nastaví, tak se zobrazí jen výřez v obrazu. A bez toho je GTA4 zubatej humus (hrávám to v 5120x2880)

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: pon 7. pro 2020, 00:55
od Ache
Tak sem GTA 4 zkusil... no a Vulkan také zde není žádný zázrak - problém ale bude ta detekce 512MB VRAM. :)
To se sice dá obejít commandline příkazem (forcne se tam třeba 4321MB). Ale očividně to pod Vulkanem pak zbytek potřebné texturové paměťi tahá přes PCIE - ty poslední procenta na screenu z prava jsou vytížení PCI-E, a ty druhý MB jsou alokovaná paměť RAM pro video

Zajímavé je také vytížení GPU - Vulkan hlásí 100%, ale hra běží hůř. Pod directem je GPU nevytížené i ve 4K, ale běží to na vyšší fps.

https://abload.de/img/gtaiv_2020_12_07_00_3wzj81.jpg
https://abload.de/img/gtaiv_2020_12_07_00_47pjct.jpg

Jako blbina je to dobrá, to zas jo. :) Ale myslím, že pro Linux hráče je to dobrá věc... jak si vůbec DX nativní hry zahrát. :P

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: pon 7. pro 2020, 09:21
od Krteq
Tam máš zas nějakej sync, protože máš stejně FPS jako reportovaný refresh při tom rozlišení :roll:

@Baneshee: Netuším jak DSR, ale VSR na Radeonech s DXVK normálně funguje. Jak velké heaps vidíš v DXVK logách? Protože 512MB je blbost, leda že by to blbě reportoval Vulkan driver

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: pon 7. pro 2020, 13:07
od Baneshee
V logách je 8GB, problém bude možná v NV driverech na Vulkan, když to dělá i Achemu. Nemám teda úplně aktuální driver, potom zkusím aktualizovat.
Přes commandline jsem u GTA4 obešel ten 512MB limit a potom se mi hra rozjela i s DSR v 5120x2880. Ale vytížení PCI-E se pohybuje kolem 50% a to má zase negativní vliv na FPS. Grafika je vytížená skoro pořád na 99% i s 60Hz Vsync, což při hře v nativním DX9 není. Ale CPU bottlenecky to opravdu zázračně vyřešilo, hra je výrazně plynulejší a pokud není limit v GPU, tak drží 60FPS i v místech, kde normálně padaly na 40 i níž.

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Napsal: pon 7. pro 2020, 14:54
od Ache
Krteq píše:Tam máš zas nějakej sync, protože máš stejně FPS jako reportovaný refresh při tom rozlišení :roll:
Ježišmarjá, co máš furt s nějakým syncem? To jako kvůli syncu by mě jel Crysis jen na 20fps ve scéně, která v DX11 jede přes 80fps?
https://abload.de/img/crysis3_trava5tj5j.jpg

To GTA je náhoda - lítalo to i nad 200fps při detailech vhodných na 512MB :) Sync tam není, v driverech mam v-sync forcnutej off. Navíc GPU v GTA hlásí 100%, což by při syncu nehlásilo. Za to ale hlásí PCI-E na 50%, což v takovým Seriosu Samovi 4 na ultra textury (kdy žerou přes 8GB) znamená propad téměř na poloviční fps. Aspoň už víme co tohle forcnutí kapacity dělalo - prostě umožnilo GTA (které si asi jinak ty limity hlídá) využít i RAM. To sice umožnilo (mě třeba kdysi na 1GB HD5870) nastavit vyšší detaily, ale za cenu zpomalení o přenosy z RAM.

Blbinka je to dobrá, ale užitek tak bude možná jen u AMD karet.