doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.38k stars 793 forks source link

Possible performance fix for Attila Total War? #3150

Open Marcoaureus opened 1 year ago

Marcoaureus commented 1 year ago

Hello,

it is more or less an issue other than that the performance on Attila on !Windows! was a bit worse then native. I installed the dxvk several times and i could reproduce it, but maybe attila would need some further inspection. Other than that i was just hoping if dxvk could finally bring some passable frames to Attila because the game desperately needs it and dxvk might be the best shot it ever had.

Maybe something can be done for this game. Ive read the disclaimer about dxvk on windows so please forgive me posting this here cause it might be the wrong place.

Anyway your work us much appreciated!

Software information

Total War Attila, Everything high except for Shadows (CPU hog)

System information

Log files

K0bin commented 1 year ago

It's extremely rare that DXVK outperforms the Nvidia D3D11 driver. DXVK is also very well optimized at this point, it's very unlikely that there's anything we can do for this game.

Marcoaureus commented 1 year ago

Thanks for the quick reply K0bin. I guess i have to wait for brute CPU power then. I was just thinking that a swtich to vulkan should theoretically help with the cpu limit. Which is the engines biggest flaw.

K0bin commented 1 year ago

Vulkan is not a magic bullet, especially not in DXVK. It needs to be implemented in the game itself to speed things up.

DXVK has to do the exact same work that a driver has to do under the same (or even more limiting) constraints. That's why it's not gonna be faster in 99% of cases.

Blisto91 commented 1 year ago

If possible then try to make a apitrace of the game. Then the devs can see if anything obvious sticks out :slightly_smiling_face: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Marcoaureus commented 1 year ago

I understand its probably way more complex then just switching to vulkan. Well vulkan is about the only bullet this game has or will ever get, so its definetly worth a shot.

Once i made the apitrace ill report back and post it here. Thanks so far for the help!

mbriar commented 1 year ago

The thing is that you are not really "switching to vulkan", the game still runs on d3d11. What you are doing with dxvk is essentially using a d3d11 driver implemented with vulkan. Which adds more constraints than a native d3d11 driver has and will only be faster if the native driver isn't optimized that well. That's why it will almost never outperform nvidia's d3d11 driver.

28 Dec 2022, 02:33 by @.***:

I understand its probably way more complex then just switching to vulkan. Well vulkan is about the only bullet this game has or will ever get, so its definetly worth a shot.

Once i made the apitrace ill report back and post it here. Thanks so far for the help!

— Reply to this email directly, > view it on GitHub https://github.com/doitsujin/dxvk/issues/3150#issuecomment-1366303477> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/A3G6J6JKTGRNBBLM7UXFFWTWPOKH7ANCNFSM6AAAAAATKAXAHA> . You are receiving this because you are subscribed to this thread.> Message ID: > <doitsujin/dxvk/issues/3150/1366303477> @> github> .> com>

Marcoaureus commented 1 year ago

So i made the apitrace of the game. A couple of things i should mention here. While the apitrace did let me in the main menu it didnt let me run an actual battle. After loading into an actual battle the game crashes and gpu and cpu usage goes basically to zero everytime while entering the battle. I dont know if thats intented or not, also pc was very unresponsive.

Now i dont know if this apitrace will suffice but its the best i could do. Is there a different apitrace i could use thats of any use for you?

https://drive.google.com/file/d/1t6jL2Fs9i8ZJ8gsyXB5JRJbqd0W9o4bF/view?usp=share_link attila_battle.trace: the one run i might got into an actual battle attila_menu.trace: just manevuering in the main menu - no crash attila_crashed.trace: crashed while loading into battle

Hope this helps!

janenez commented 1 year ago

Another apitrace if it'll help https://drive.google.com/file/d/1F4m8DfxuB3Hwop4LGASIBUxdAGQb3Vd1/view?usp=share_link

KarlGhartler commented 1 year ago

I also have been unable to get DXVK running in any Total War games. I was hoping for the same improvements that I got when I finally played GTA IV with DXVK but I guess that was a one off situation.