https://bugs.winehq.org/show_bug.cgi?id=54223
Bug ID: 54223 Summary: [Wine 8.0-rc2] [Severe Performance Regression] [Unigine Heaven Benchmark 4.0] Wine DirectX11 to OpenGL Severely Low FPS Product: Wine Version: 8.0-rc2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: CHECK_1234543212345@protonmail.com Distribution: ---
⬤ System Information:
OS: Ubuntu 22.10 Kernel: 6.1.0 CPU: Ryzen 7 1700 GPU: XFX RX580 4GB Window Manager: OpenBox Compositor: No Compositor, Xorg TearFree Disabled
⬤ Issue:
Wine's DirectX11 to OpenGL was the fastest on Wine 6.0, but then got a little slower on Wine 7.0 and got severely more slower when I tested with Wine 7.22 before I installed Wine 8.0-rc2.
⬤ Settings:
RX580 locked to 300Mhz core clock and 300Mhz memory clock Quality: Low Resolution: 1280x720 Fullscreen: Unchecked
⬤ Information:
Lutris was used to easily switch between Wine versions.
Scene 2 is where the screen was moving across the bridge looking at the boat.
You can switch scenes with in the Unigine Benchmark by using the "Backspace" and "Enter" keyboard keys.
Unigine Heaven Benchmark 4.0 Results:
--------------------
Wine staging 8.0-rc2 DX11 to OpenGL Scene 2: 41 FPS (41 FPS with WINEDEBUG=-all) Scene 3: 24 FPS (24 FPS with WINEDEBUG=-all)
Wine staging 8.0-rc2 DX11 to Vulkan (winetricks renderer=vulkan) Scene 2: 26 FPS (with WINEDEBUG=-all) Scene 3: 15 FPS (with WINEDEBUG=-all)
Wine staging 8.0-rc2 DX11 to Vulkan (DXVK 2.0) (./setup_dxvk.sh install) Scene 2: 84 FPS (with WINEDEBUG=-all) Scene 3: 104 FPS (with WINEDEBUG=-all)
-
Wine staging 8.0-rc2 DX9 to OpenGL Scene 2: 90 FPS (with WINEDEBUG=-all) Scene 3: 97 FPS (with WINEDEBUG=-all)
Wine staging 8.0-rc2 DX9 to Vulkan (winetricks renderer=vulkan) CRASHES with an error dialog when starting benchmark
Wine staging 8.0-rc2 DX9 to Vulkan (DXVK 2.0) (./setup_dxvk.sh install) Scene 2: 57 FPS (with WINEDEBUG=-all) Scene 3: 67 FPS (with WINEDEBUG=-all)
-
Wine staging 8.0-rc2 OpenGL to OpenGL Scene 2: 91 FPS (with WINEDEBUG=-all) Scene 3: 105 FPS (with WINEDEBUG=-all)
--------------------
Wine staging 7.22 DX11 to OpenGL Same performance problem as wine 8.0-rc2
--------------------
Wine staging 7.0 DX11 to OpenGL Scene 2: 61 FPS (74 FPS with WINEDEBUG=-all) Scene 3: 32 FPS (61 FPS with WINEDEBUG=-all)
-
Wine staging 7.0 DX9 to OpenGL Scene 2: 88 FPS (with WINEDEBUG=-all) Scene 3: 83 FPS (with WINEDEBUG=-all)
--------------------
Wine staging 6.0 DX11 to OpenGL Scene 2: 88 FPS (88 FPS with WINEDEBUG=-all) Scene 3: 48 FPS (71 FPS with WINEDEBUG=-all)
-
Wine staging 6.0 DX9 to OpenGL Scene 2: 88 FPS (with WINEDEBUG=-all) Scene 3: 78 FPS (with WINEDEBUG=-all)
--------------------
Wine staging 5.1 DX11 to OpenGL Scene 2: 71 FPS (71 FPS with WINEDEBUG=-all) Scene 3: 48 FPS (55 FPS with WINEDEBUG=-all)
--------------------
Wine staging 4.0 DX11 to OpenGL Scene 2: 75 FPS (84 FPS with WINEDEBUG=-all) Scene 3: 41 FPS (64 FPS with WINEDEBUG=-all)
--------------------
Wine staging 3.0 DX11 to OpenGL Scene 2: 48 FPS (61 FPS with WINEDEBUG=-all) Scene 3: 27 FPS (44 FPS with WINEDEBUG=-all)
The Unigine Benchmark Launcher opened very quickly with wine 3.0
--------------------
⬤ Information:
I had "Output debugging info" "Enabled" in Lutris at first with the DX11 to OpenGL tests and retested with "Output debugging info" "Disabled (default)" in Lutris, which just added the "WINEDEBUG=-all" environmental variable.
The Wine 32-bit staging versions 7.0 to 3.0 was downloaded from: https://www.playonlinux.com/wine/binaries/phoenicis/staging-linux-x86/
The Unigine Heaven Benchmark Launcher was closed after starting each benchmark because the Unigine Heaven Benchmark Launcher was decreasing the FPS.
⬤ Conclusion:
DirectX11 to OpenGL was the fastest in Wine 6.0
Somewhere between Wine 6.0 and Wine 7.0, Wine's DirectX11 to OpenGL became a bit more slower.
Somewhere between Wine 7.0 and Wine 7.22, Wine's DirectX11 to OpenGL became severely more slower.
Wine's OpenGL to OpenGL is currently faster than: DXVK (DXVK 2.0) (./setup_dxvk.sh install) Wine's DirectX9/DirectX11 to OpenGL (renderer=gl). Wine's DirectX9/DirectX11 to Vulkan (winetricks renderer=vulkan)
Unigine Heaven Benchmark crashes when using DirectX9 to Vulkan (winetricks renderer=vulkan) but not with DXVK's DirectX9 to Vulkan (DXVK 2.0) (./setup_dxvk.sh install).
Wine 3.0 Opens the Unigine Heaven Benchmark launcher very quickly. But then with Wine 4.0 and above, the Unigine Heaven Benchmark launcher opens more slower than Wine 3.0. I am using a HDD.
⬤ Warning if not fixed before Wine 8.0 stable gets released:
It would be good if this problem is fixed before Wine 8.0 stable get released because Steam's Proton uses stable versions of Wine.
If this problem is not fixed by the time Wine 8.0 stable gets released and proton updates to Wine 8.0. anyone using "PROTON_USE_WINED3D=1" on a DirectX11 Steam game can have severely Low FPS while Wine 7.0's DirectX11 to OpenGL is only a little bit more slower than Wine 6.0's DirectX11 to OpenGL right now.