doitsujin / dxvk

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

Grand Theft Auto V massive performance drop if on desert #3311

Closed ghost closed 1 year ago

ghost commented 1 year ago

If you are in the desert and you look at the direction of the city the game performance completely falls apart, see the images:

i'm in the desert looking at the city direction: hudmap

gta

Software information

Grand Theft Auto V - (Steam)

System information

Apitrace file(s)

Log files

steam-271590.tar.gz

Trevonn commented 1 year ago

Reproduced on my 6600M Very high Settings

FPS goes from around 110-120 to around 55

System information

doitsujin commented 1 year ago

Is there actually any indication that dxvk is at fault here? perf top might show something.

Also please try setting d3d11.cachedDynamicResources = a in the config file to see if that helps.

Trevonn commented 1 year ago

Screenshot_20230325_131357 d3d11.cachedDynamicResources = a noticeably improves performance for me GTA5_dxgi.log

doitsujin commented 1 year ago

looks like we need an app profile then, can you try narrowing down which option exactly it is that improves performance?

Please try each of:

If any of those give you full performance, we should use that.

ghost commented 1 year ago

Both d3d11.cachedDynamicResources = vi and d3d11.cachedDynamicResources = a boosted my performance to normal levels (max settings 60~70/80 fps) I tested both separately of course.

Framerate in the screenshot is on the bottom left* A

adolfintel commented 1 year ago

Oh wow, that improved performance way more than I expected (6900xt)

falcon35180 commented 1 year ago

I have a few screenshots showing a huge performance difference, even with all cached dynamic resources options set. Not sure if it's related to DXVK, the OS or the driver, but hopefully someone has some ideas about where to look.

I wish I could use DXVK with the game on Windows to rule out some variables, but it doesn't seem to work - as I remember, it always loads dxgi.dll from System32.

Also, if anyone with an AMD GPU could test in the same location in the game, that could give us another useful data point. I can provide map and graphics settings screenshots if necessary.

Anyway, the hardware is:

Windows 10: 20230510125748_1

Linux Mint 21.1 Cinnamon: 20230510130909_1 20230510130912_1 20230510130924_1 (I included this last one that hits the FPS cap for comparison)

Blisto91 commented 1 year ago

I don't know where that is and haven't really played GTA V much. Can you provide a savegame near the location or do i have to get there?

falcon35180 commented 1 year ago

I don't know if there are any complications with sharing savegames, given that there are Rockstar and Steam accounts involved. I'll try to find out more.

In the meantime, I'll post a map screenshot when I get a chance.

falcon35180 commented 1 year ago

Here are some more screenshots showing the location. Not very difficult to get to with a jet ski (a boat might also work), just might take a bit of time.

20230510204450_1 20230510204514_1 20230510204551_1

doitsujin commented 1 year ago

Does setting d3d11.cachedDynamicResources = a fix this?

Honestly I'm tired of dealing with this game's crap all the time, if the game struggles to do 50 FPS while doing 2k draw calls then something is fundamentally wrong with how it uses the API rather than our code. Either that or we trigger a slow path in the game due having the AMD vendor override enabled by default or something.

mbriar commented 1 year ago

I have a few screenshots showing a huge performance difference, even with all cached dynamic resources options set

falcon35180 commented 1 year ago

Does setting d3d11.cachedDynamicResources = a fix this?

I tried "vi" and "a" and got the same results. It did look promising at first, during the benchmark sequence and in some other situations, but then I came across this.

I seem to remember trying it with the NVAPI hack disabled in the past, but it didn't help. I might check that again just to confirm.

I have tested it on another PC with a Vega 56 GPU to try to rule out any Nvidia driver problems - performance was on par with Windows when GPU bound but turning down graphics settings to load the CPU more showed similar disparities. That PC has a Core i7-6700 CPU - at one point, that was my main PC with the 3080 Ti (yes, that GPU was kind of an overkill, but I did use it for crypto mining as well!)

As I mentioned earlier, it's a pity I can't get the game to run with DXVK libraries on Windows, since I'd love to see it without OS and driver differences getting in the way.

Honestly I'm tired of dealing with this game's crap all the time

I know the feeling! At least it's good enough at the moment to avoid rebooting if I feel like playing. And it's nowhere near as bad as Halo Infinite!