Perfomance issues

Issue:
Hi I have emulator performance issues. When any 3D appears on the screen, it greatly lowers the FPS, but the load on the PC is minimal. Works with any game. Any fixes?

System Information

  • Operating System: Windows 8.1
  • CPU: QuadCore AMD A10-6700, 4300 MHz (43 x 100)
  • GPU: AMD Radeon HD 8670D (Richland) (integrated) and Bitland Radeon HD 8570
  • Citra Version (found in title bar): Canary 1952
  • Game: For example Ace Attorney: Dual Destinies, Majora’s Mask 3D
  • Screenshot of Issue (include the full Citra window including titlebar):

Diagnostic Log
citra_log.txt (12.7 KB)

System Information for Support

Client Version                                Canary 1952 HEAD-1d1f601
Operating System                              Windows 8.1 (6.3)
CPU                                           AMD A10-6700 APU with Radeon(tm) HD Graphics   
Graphics API                                  OpenGL 3.3.1
Graphics Renderer                             AMD Radeon R7 200 Series
GPU Driver Version                            22.19.171.1024
CPU JIT                                       [x]
Hardware Renderer                             [x]
Hardware Shader                               [x]
Hardware Shader, Accurate Multiplication      [x]
Shader JIT                                    [x]
System Region                                 2
Shader Disk Cache                             [x]

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

  • Due to AMD’s poorly optimized OpenGL driver, you may experience slowdowns.

Keep in mind that Citra only utilizes 1 CPU core for emulation (a limitation caried over from the 3DS). So it can never fully utilize your system.

AMD’s OpenGL drivers are terrible for Citra, which can also really bottleneck performance. You can try disabling Hardware Shaders in Emulation>Configuration>Graphics>Advanced Tab to see if that provides you a boost in performance --> That’s sometimes the case with AMD GPU users in some games but it’s a bit hit or miss.
Would also be a good idea to turn your Internal Resolution back to native for more performance.

So, I checked load on cores, but they are still not fully loaded.


Disabling hardware shaders doesn’t help me, but when I change resolution to native - game works perfect.

Well, I did say this:

Besides, emulation also requires the code that you CPU executes to constantly translate from the emulated console’s architecture to your PC’s architecture, which isn’t a perfect process as the devs don’t get the official documentation for how the 3DS does things. All of this was done by reverse engineering and trials-and-error. As a result? Even for the 1 core we do use, it cannot ever be fully, efficiently utilized for performance.