Nightly 1425 125 FPS faster than 1696

Issue:
I recently installed Citra (Nightly 1696) to play Omega Ruby. After the installation and download of all necessary files I realized I already had a previous version installed from some time ago (Nightly 1425). Now trying out both versions the earlier one has a much better performance, than the new one. I would really appreciate any ideas or input on what might be the cause, because my knowledge is more than lacking when it comes to computers is more than lacking.

I have added all recommended files to this post and am more than willing to provide any additional info.

System Information

  • Operating System: Manjaro v. 20.2.1 (Kernel v. 5.10.19-1)
  • CPU: AMD Ryzen 5 2600
  • GPU: 8GB Sapphire Radeon RX 570
  • Citra Version (found in title bar): 1425/1696
  • Game: Omega Ruby
  • Screenshot of Issue:

Diagnostic Log
Upload your log file as an attachment by dragging & dropping.

citra_log_1696.txt (53.5 KB)

citra_log_1425.txt (54.9 KB)

System Information for Support

Client Version                                Nightly 1425 HEAD-59c159e8
Operating System                              KDE Flatpak runtime
CPU                                           AMD Ryzen 5 2600 Six-Core Processor            
Graphics API                                  OpenGL ?
Graphics Renderer                             Radeon RX 570 Series (POLARIS10, DRM 3.40.0, 5.10.19-1-MANJARO, LLVM 7.0.1)
CPU JIT                                       [x]
Hardware Renderer                             [x]
Hardware Shader                               [x]
Hardware Shader, Accurate Multiplication      [ ]
Shader JIT                                    [x]
System Region                                 -1
Shader Disk Cache                             [x]

Here’s some issues I found with your log that might help.

  • Enabling Accurate Multiplication is recomended in certain games. If you are experiencing graphical glitches, try enabling this option.

System Information for Support

Operating System                              Manjaro Linux
CPU                                           null
Graphics API                                  OpenGL ?
Graphics Renderer                             Radeon RX 570 Series (POLARIS10, DRM 3.40.0, 5.10.19-1-MANJARO, LLVM 11.1.0)
CPU JIT                                       [x]
Hardware Renderer                             [x]
Hardware Shader                               [x]
Hardware Shader, Accurate Multiplication      [x]
Shader JIT                                    [x]
System Region                                 -1
Shader Disk Cache                             [x]

I did not find anything wrong in your log file. Please wait for a moderator to assist.

This could be due to the difference in settings. Accurate shader multiplication (which you have disabled in version 1425 and enabled in version 1696) usually brings a big performance hit, but it’s needed to avoid graphical glitches in many games

One setting that changed behavior between these versions is System_IsNew3ds, which is by default false in the older version because it couldn’t emulate the new3ds yet, and it’s true by default on the newer version.
The setting can have a significant performance impact, especially in CPU bound scenarios.

If, even accounting for that, there’s still a significant difference, you can try bisecting the issue, which would help pinpoint which changes introduced the issue.
Given there’s 271 versions between these two, you’d need to test at most 9, but even testing just a few in a bisecting manner would help.

So I’ve tried both suggestions independently and combined with no notable improvement. I’m not actively bothered by playing on the lower version, as everything works just fine.

However if any of you think that narrowing it down to a specific version change, if that’s even the reason, might help the development, then please let me know. I think contributing a couple of hours of my time would be more than fair considering what I’ve gotten out of citra.

If you could try bisecting the issue it would help, some change probably made the Radeon drivers dislike Citra even more.

That being said, bisecting shouldn’t take that long. To quote tywald:

to bisect, you don’t need to test in order like 1697 → 1696 → 1695 etc that takes too long. It’s better to do a “binary search” algorithm where you pick a starting point, like 1392 and then if that works, it would be between the latest and that so you test the next one right in the middle, such as 1545. If 1545 works, then it’s beween 1697 and 1545, if 1545 doesn’t work then it would be between 1545 and 1392.

Repeat the process until you only have two builds right next to each other where one is working and the other isn’t.

In your case you’d be searching the versions between 1425 and 1696