Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[d3d9] Shank 2: performing worse than WineD3D #3755

Closed
ranplayer opened this issue Dec 19, 2023 · 6 comments · Fixed by #3765
Closed

[d3d9] Shank 2: performing worse than WineD3D #3755

ranplayer opened this issue Dec 19, 2023 · 6 comments · Fixed by #3765

Comments

@ranplayer
Copy link

Shank 2 with DXVK is performing worse compared to WineD3D. To reproduce the slowdown you can just start a new campaign and play for less than 5 minutes (after leaving the initial vehicle, it's possible to notice). The fps is dropping below 40 sometimes (I'm using a 6700 XT with a 1080p resolution).

shank_2_perf

I've tried also the following DXVK properties: d3d9.cachedDynamicBuffers=True and d3d9.floatEmulation=Strict (but no gains)

Software information

Game: Shank 2
Settings: maxed out at 1080p

System information

  • GPU: 6700 XT (12 Gb)
  • CPU: Ryzen 7 5700 G (8c/16t)
  • Driver: Mesa 23.3.1 and 23.2.1
  • Wine version: Proton 8.0-4 and 8.0-5 (RC)
  • DXVK version: same versions used by the Proton builds

Apitrace file(s)

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Log files

@K0bin
Copy link
Collaborator

K0bin commented Dec 19, 2023

Putting this here as a note for devs:

The game has a handful of vertex buffers that are >1MB which end up getting uploaded multiple times per frame. Not only is it slow to copy that much data, we also end up exceeding the staging buffer limit. The game even maps those buffers at least once per frame with size = 0.

The best solution in my opinion is to upload only the necessary data at draw time for POOL_SYSMEM + USAGE_DYNAMIC buffers.

@ranplayer
Copy link
Author

@K0bin thank you for digging into the problem

@waspennator
Copy link

Issue seems to be replicable on steam deck too checking protondb unless you drop down to an older version of proton that uses wined3d instead. Troublesome considering the game is currently marked as "deck verified"

@Blisto91
Copy link
Contributor

Blisto91 commented Jan 4, 2024

The issue might not have shown much when the game was verified. Testing 6.3-8 on Deck the perf drop isn't too bad and doesn't go below 50. With 7.0-6 and 8.0-4 it's much more noticeable going down into the low 20's and seems to stay there for longer.
Looking at the verification date it was probably tested with 7.0-2 but haven't tested that myself sepcifically

@K0bin
Copy link
Collaborator

K0bin commented Jan 4, 2024

It'll be fixed soon anyway.

@ranplayer
Copy link
Author

Just tested the game using the main branch build and the performance issues have gone. Thank you, folks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants