xemu icon indicating copy to clipboard operation
xemu copied to clipboard

Vulkan: Performance Issues

Open ehw opened this issue 11 months ago • 12 comments

Title

This issue affects several games, here are some that I have found that are consistently reproducable.

(Updating when more are discovered from other users too);.

https://xemu.app/titles/54540001/#4x4-Evo-2 TT-001 [54540001] https://xemu.app/titles/4d530013/#Blinx-The-Time-Sweeper MS-019 [4d530013] https://xemu.app/titles/4d530065/#Blinx-2-Battle-of-Time-Space-Blinx-2-Masters-of-Time-Space MS-101 [4d530065] https://xemu.app/titles/53450004/#Crazy-Taxi-3-High-Roller SE-004 [53450004] https://xemu.app/titles/42550004/#Double-S-T-E-A-L-The-Second-Clash BU-004 [42550004] https://xemu.app/titles/46490002/#Futurama FI-002 [46490002] https://xemu.app/titles/43430005/#Group-S-Challenge CC-005 [43430005] https://xemu.app/titles/56550021/#Jurassic-Park-Operation-Genesis VU-033 [56550021] https://xemu.app/titles/4947001f/#Mission-Impossible-Operation-Surma IG-031 [4947001f] https://xemu.app/titles/55530016/#Murakumo-Renegade-Mech-Pursuit US-022 [55530016] https://xemu.app/titles/5443000d/#Ninja-Gaiden-Black TC-013 [5443000d] https://xemu.app/titles/4541003c/#SSX-3 EA-060 [4541003c] https://xemu.app/titles/4c410005/#Star-Wars-Jedi-Starfighter LA-005 [4c410005] https://xemu.app/titles/4c410002/#Star-Wars-Starfighter-Special-Edition LA-002 [4c410002] https://xemu.app/titles/49470016/#Superman-The-Man-of-Steel IG-022 [49470016] https://xemu.app/titles/41540001/#Touge-R AT-001 [41540001] https://xemu.app/titles/41430014/#XGRA-Extreme-G-Racing-Association AC-020 [41430014]

Bug Description

There are some games that perform worse while running with the Vulkan backend in comparison to the OpenGL backend, even at native resolution. The performance difference in this case is great enough to cause the games to become unplayable. Despite the low performance, visually the games look identical to the OpenGL backend with no added advantages. This issue seems to occur when there are mostly 3D graphics on the screen, and don't always plague menus or static screens.

Steps to reproduce: 1.) Set the backend to Vulkan. This can be set during or before the game is launched. 2.) All these screenshots are from the very start of the game and can be recreated by just making a new game and going in game, so I won't go into further detail to reproduce unless it's necessary.

All screenshots are with the Vulkan backend. Each screenshot displays the framerate and video statistics for debugging. Make sure if you are going to post to this issue that you post the statistics for both backends in the same scene as well.

Screenshots: Jurassic Park Operation Genesis: jurassic-vlk

Mission Impossible Operation Surma: misurma-vlk

Superman The Man of Steel: superman-vlk

Expected Behavior

Games running the Vulkan backend should perform identically or better in comparison to the OpenGL backend at least when runnin games at native resolution with no additional accuracy or post processing improvements. The following screenshots show case the same scenes with the OpenGL backend. You can see from the video statistics that the framerate is running much higher and stable and there is a difference in other statistics as well.

Screenshots: Jurassic Park Operation Genesis: jurassic-ogl

Mission Impossible Operation Surma: misurma-ogl

Superman The Man of Steel: superman-ogl

xemu Version

Version: 0.8.2 Branch: master Commit: 02d35be3030119099f45f2ff56a4a911ab7e6c34 Date: Wed Jan 1 23:02:35 UTC 2025

System Information

CPU: AMD Ryzen 7 5800X 8-Core Processor
OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 566.36 Shader: 4.00 NVIDIA via Cg compiler

Additional Context

No response

ehw avatar Jan 02 '25 05:01 ehw

Add Star Wars: Starfighter Special Edition and Star Wars: Jedi Starfighter to the list of games that have worse performance. Jedi Starfighter already ran at 15 out of 60 FPS on OpenGL on my beefy gaming rig, this lowers it to 5 or 6. Starfighter Special Edition gets a small performance hit ingame, but the menus, which are normally butter-smooth, just break down completely.

SlyCooperReloadCoded avatar Jan 06 '25 02:01 SlyCooperReloadCoded

Here a few games with performace comparison where opengl wins. use replay when ever possible.

4x4 Evo 2 Vk(55-60) Vs GL(45-50) 22% win to GL
VK

Image

OpenGL

Image

Apex/Racing Evoluzione Vk(23-30) Vs GL(30) Opengl

Image

Vulkan

Image

Bass Trophy Fishing Vk(18-25) Vs GL(25-30)
VK

Image

OpenGL

Image

Batman: Rise of Sin Tzu Vk(18-21) Vs GL(30-20)
VK

Image

OpenGL

Image

Battle Engine Aquila Vk(30-50) Vs GL(55-60)
VK

Image

OpenGL

Image

Double-S.T.E.A.L: The Second Clash VK (10-13) Vs GL(27-30)170% win to GL
VK

Image

OpenGL Image

Gene Troopers Vk(24 msfp) Vs GL(11 mspf) Opengl

Image

Vulkan

Image

Hitman Blood Money Vk(12) Vs GL(18) Opengl

Image

Vulkan

Image

Iron Phoenix Vk(40s) Vs GL(60-40) Opengl

Image

Vulkan

Image

Mace Griffin: Bounty Hunter Vk(23-25) Vs GL(55-60) Opengl

Image

Vulkan

Image

Mojo! (Split screen) Vk(45-55) Vs GL(59-60) Opengl

Image

Vulkan

Image

Triticum0 avatar Apr 13 '25 21:04 Triticum0

Blinx: The Time Sweeper (MS-019) is slightly faster on OpenGL versus Vulkan. This is more evident in the later stages (like Round 7, the Ice one). The two backends look visually identical to each other.

OpenGL: Image

Vulkan: Image

Version: 0.8.49 Branch: master Commit: 2cc926588b9fea2aa5bd5b4882cb7440c6553991 Date: Fri Apr 11 11:25:25 UTC 2025 CPU: AMD Ryzen 7 5800X 8-Core Processor
OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 572.83 Shader: 4.00 NVIDIA via Cg compiler

ehw avatar Apr 13 '25 21:04 ehw

Blinx 2: Masters of Time & Space (MS-101), like the first game, also has performance issues in Vulkan not present in OpenGL. This is evident in the first area of the game past the tutorial. You can get to this stage in the post title screen auto demo if you wait long enough.

OpenGL: Image

Vulkan: Image

Version: 0.8.49 Branch: master Commit: https://github.com/xemu-project/xemu/commit/2cc926588b9fea2aa5bd5b4882cb7440c6553991 Date: Fri Apr 11 11:25:25 UTC 2025 CPU: AMD Ryzen 7 5800X 8-Core Processor OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 572.83 Shader: 4.00 NVIDIA via Cg compiler

ehw avatar Apr 13 '25 21:04 ehw

Crazy Taxi 3: High Roller (SE-004) has weird performance issues in general, but if you can find an area in a stage where the performance dips and stays within a certain frame rate range you can see that the Vulkan backend performs worse.

OpenGL: Image

Vulkan: Image

I don't know why but the game just has weird performance issues specifically when moving around, but when you're stationary it seems mostly fine.

Version: 0.8.49 Branch: master Commit: https://github.com/xemu-project/xemu/commit/2cc926588b9fea2aa5bd5b4882cb7440c6553991 Date: Fri Apr 11 11:25:25 UTC 2025 CPU: AMD Ryzen 7 5800X 8-Core Processor OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 572.83 Shader: 4.00 NVIDIA via Cg compiler

ehw avatar Apr 13 '25 22:04 ehw

Futurama (FI-002) has performance issues immediately in game when you start the first level that only appear in the Vulkan backend.

OpenGL: Image

Vulkan: Image

Version: 0.8.49 Branch: master Commit: https://github.com/xemu-project/xemu/commit/2cc926588b9fea2aa5bd5b4882cb7440c6553991 Date: Fri Apr 11 11:25:25 UTC 2025 CPU: AMD Ryzen 7 5800X 8-Core Processor OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 572.83 Shader: 4.00 NVIDIA via Cg compiler

ehw avatar Apr 13 '25 22:04 ehw

Gauntlet: Dark Legacy (MW-014) is noticeably slower in comparison to the OpenGL backend. This is odd to me because I could've sworn when I tested this game to diagnose the old issue with the text box/fireball effect that it seemed to perform on par, but the game never really had the best looking performance to begin with so maybe I'm misremembering.

OpenGL: Image

Vulkan: Image

Version: 0.8.49 Branch: master Commit: https://github.com/xemu-project/xemu/commit/2cc926588b9fea2aa5bd5b4882cb7440c6553991 Date: Fri Apr 11 11:25:25 UTC 2025 CPU: AMD Ryzen 7 5800X 8-Core Processor OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 572.83 Shader: 4.00 NVIDIA via Cg compiler

ehw avatar Apr 13 '25 22:04 ehw

Murakumo: Renegade Mech Pursuit (US-022) suffers from performance issues in game. The framerate bounces all over the place with the Vulkan renderer due to the on-rails gameplay. The framerate can be shown to be consistently slow if paused. OpenGL doesn't exhibit these issues.

OpenGL: Image

Vulkan: Image

Version: 0.8.49 Branch: master Commit: https://github.com/xemu-project/xemu/commit/2cc926588b9fea2aa5bd5b4882cb7440c6553991 Date: Fri Apr 11 11:25:25 UTC 2025 CPU: AMD Ryzen 7 5800X 8-Core Processor OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 572.83 Shader: 4.00 NVIDIA via Cg compiler

ehw avatar Apr 13 '25 23:04 ehw

Touge R (AT-001) was already a little slow on OpenGL but the performance loss is magnified with Vulkan.

OpenGL: Image

Vulkan: Image

Version: 0.8.49 Branch: master Commit: https://github.com/xemu-project/xemu/commit/2cc926588b9fea2aa5bd5b4882cb7440c6553991 Date: Fri Apr 11 11:25:25 UTC 2025 CPU: AMD Ryzen 7 5800X 8-Core Processor OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 572.83 Shader: 4.00 NVIDIA via Cg compiler

ehw avatar Apr 14 '25 01:04 ehw

XGRA: Extreme G Racing Association (AC-020 [41430014]) has some minor issues with OpenGL already as far as performance goes but the problem is a bit magnified with Vulkan.

OpenGL: Image

Vulkan: Image

Version: 0.8.49 Branch: master Commit: https://github.com/xemu-project/xemu/commit/2cc926588b9fea2aa5bd5b4882cb7440c6553991 Date: Fri Apr 11 11:25:25 UTC 2025 CPU: AMD Ryzen 7 5800X 8-Core Processor OS Platform: Windows OS Version: 22H2 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3080/PCIe/SSE2 Driver: 4.0.0 NVIDIA 572.83 Shader: 4.00 NVIDIA via Cg compiler

ehw avatar Apr 14 '25 01:04 ehw

Add SSX 3 to the list. Even just on the character select screen, Vulkan struggles immensely, dropping down to 37 FPS causing audio popping. Switch back to OpenGL and boom, 100+ FPS, even at 4x native resolution.

SlyCooperReloadCoded avatar Apr 17 '25 01:04 SlyCooperReloadCoded

For me, Ninja Gaiden Black runs at almost half the speed when using Vulkan compared to OpenGL.

OS: Arch Linux x86_64 Kernel: 6.14.2-arch1-1 DE: Plasma 6.3.4 CPU: Ryzen 7 5700X3D GPU: AMD RX 6750 XT

Image Image

The performance stabilizes if I consume the Ninpo magic meter below the Health Bar

Image

Image

KawaiiDinosaur avatar Apr 19 '25 14:04 KawaiiDinosaur

Deus Ex: Invisible War has this issue as well, might be worth adding this.

OpenGL (Hits 30FPS after 10~ seconds in game): https://github.com/user-attachments/assets/7460378f-c329-42c0-b238-7fa0721833ca

Vulkan (Fails to reach 20FPS after 10~ seconds in game): https://github.com/user-attachments/assets/40698a36-7633-4139-89be-eb54dd9d7f8a

ChaseDerick avatar Aug 22 '25 18:08 ChaseDerick