protonscr

Tower of Time: Very low performance compared to native version

dxvkclosed d3d11performance
doitsujin/dxvk#3289 · opened 2023-03-14 by romatthe · updated 2023-03-15 · 10 comments · github
6 matching comments, n / p to jump
Rromatthe 2023-03-14 github

Hi,

The game Tower of Time has a native Linux version (with an OpenGL renderer). However, since I experienced some crashes with the native version, I switched over to Proton/DXVK. Running it under DXVK produces rather awful performance with the average FPS being somewhere between 30-40 fps, and sometimes even struggling to meet a stable 30 fps.

The native Linux version with the OpenGL renderer hovers between 80-90 fps on the exact same settings. My hardware should obviously be able to run this game fairly well.

Software information

Tower of Time v1.4.5, stock "Very High" setting on 3440x1440 resolution.
The game runs on Unity 5.6.5 (exact version number unsure, this is according to PCGamingWiki).

System information

  • GPU: Radeon RX 6800 XT
  • Driver: Mesa 22.2.5 (RADV)
  • Wine version: Proton 7.0.6e
  • DXVK version: 1.10.3 (Bundled with Proton)

Apitrace file(s)

Not sure if apitrace files are useful for debugging performance issues, please let me know if this is helpful and I'll provide it. I technically have access to Windows (which I believe is preferred over Wine?) but it's a pain to get it up and running.

Log files

I've attached performance log files captured via mangohud. Both were taken at the exact same stock "very high" settings with the same scenes loaded. I can't upload these to flightlessmango.com because the login system doesn't work, sorry!

OpenGL:
TowerOfTime-OpenGL_2023-03-14_17-22-00.csv
TowerOfTime-OpenGL_2023-03-14_17-22-00_summary.csv

DXVK:
TowerOfTime-DXVK_2023-03-14_17-30-43.csv
TowerOfTime-DXVK_2023-03-14_17-30-43_summary.csv

Please let me know if there's anything else useful I can provide, I'll try to get the info ASAP.

BBlisto91 2023-03-14 github

Looks like this is one of those games that does not like high core count CPU's. At least through Proton/Wine

Here is a test with a 7950x (32 threads) and 7900xtx with highest settings at 1080p

Screenshot

Screenshot_20230314_203259

Here is it again limited to 4 threads with WINE_CPU_TOPOLOGY=4:0,1,2,3

Screenshot

Screenshot_20230314_203710

Rromatthe 2023-03-14 github

Huh, that's very interesting! Indeed I'm running this on a 5900X, which has 24 threads. Oddly enough, I found that CPU usage was unexpectedly high during my playtime. Is this a common thing for Unity games?

I wasn't aware of the existence of WINE_CPU_TOPOLOGY (and I can't find any documentation for it either). Are there any downsides to using this as a workaround during my current playthrough? I'll try it out on my system as soon as I can.

Either way, I suppose this would all make this more of a Wine issue than a DXVK issue, correct?

KK0bin maintainer 2023-03-14 github

I wasn't aware of the existence of WINE_CPU_TOPOLOGY (and I can't find any documentation for it either). Are there any downsides to using this as a workaround during my current playthrough? I'll try it out on my system as soon as I can.

There isn't really any downside if it's faster.

Either way, I suppose this would all make this more of a Wine issue than a DXVK issue, correct?

No, this is usually a problem with the game itself.

Rromatthe 2023-03-14 github

No, this is usually a problem with the game itself.

So is the expectation then that this game would have similar performance results on Windows? I can make some time and check it out on Windows before I close the issue if that's helpful.

Jjrugia 2023-03-14 github

I've observed a similar issue in a few games with 1700X and 5800X cpu's. For some years I run wine games with "taskset -c 0-7" for better performance.

WINE_CPU_TOPOLOGY is new to me as well.

BBlisto91 2023-03-14 github
Mmbriar 2023-03-14 github
  • taskset will not help if the game does stupid stuff depending on how many cpu cores it thinks there are, because taskset doesn't change the number of cores reported to the game
  • WINE_CPU_TOPOLOGY is only in proton
  • some games have problems with high reported core counts only on wine, can't remember which, but I do remember that there are some that need it only on linux. But I would assume that's more of a wine than dxvk problem.
BBlisto91 2023-03-14 github

some games have problems with high reported core counts only on wine, can't remember which, but I do remember that there are some that need it only on linux. But I would assume that's more of a wine than dxvk problem.

Unity games tend more to run into this issue afaik

KK0bin maintainer 2023-03-15 github

So is the expectation then that this game would have similar performance results on Windows? I can make some time and check it out on Windows before I close the issue if that's helpful.

@romatthe Windows applies a similar hack for some games.

Rromatthe 2023-03-15 github

Thanks for all the information and the extremely quick response!

Proton versions

Launch options