xemu
xemu copied to clipboard
Vulkan: Performance Issues
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:
Mission Impossible Operation Surma:
Superman The Man of Steel:
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:
Mission Impossible Operation Surma:
Superman The Man of Steel:
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
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.
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
OpenGL
Apex/Racing Evoluzione Vk(23-30) Vs GL(30)
OpenglVulkan
Bass Trophy Fishing Vk(18-25) Vs GL(25-30)
VK
OpenGL
Batman: Rise of Sin Tzu Vk(18-21) Vs GL(30-20)
VK
OpenGL
Battle Engine Aquila Vk(30-50) Vs GL(55-60)
VK
OpenGL
Double-S.T.E.A.L: The Second Clash VK (10-13) Vs GL(27-30)170% win to GL
VK
OpenGL
Gene Troopers Vk(24 msfp) Vs GL(11 mspf)
OpenglVulkan
Hitman Blood Money Vk(12) Vs GL(18)
OpenglVulkan
Iron Phoenix Vk(40s) Vs GL(60-40)
OpenglVulkan
Mace Griffin: Bounty Hunter Vk(23-25) Vs GL(55-60)
OpenglVulkan
Mojo! (Split screen) Vk(45-55) Vs GL(59-60)
OpenglVulkan
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:
Vulkan:
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
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:
Vulkan:
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
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:
Vulkan:
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
Futurama (FI-002) has performance issues immediately in game when you start the first level that only appear in the Vulkan backend.
OpenGL:
Vulkan:
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
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:
Vulkan:
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
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:
Vulkan:
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
Touge R (AT-001) was already a little slow on OpenGL but the performance loss is magnified with Vulkan.
OpenGL:
Vulkan:
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
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:
Vulkan:
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
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.
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
The performance stabilizes if I consume the Ninpo magic meter below the Health Bar
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