Project

General

Profile

Actions

Emulator Issues #3081

closed

GPU emulation causes slowdowns with some games

Added by Xtreme2damax over 13 years ago.

Status:
Won't fix
Priority:
Normal
Assignee:
-
Category:
GFX
% Done:

0%

Operating system:
N/A
Issue type:
Feature request
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
Yes
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

What steps will reproduce the problem?

  1. Start a profiler such as Vtune, select Dolphin as the executable.

  2. Run specific games with known slowdown issues, I tested Super Mario Galaxy, Super Mario Galaxy 2, and even Zelda Twilight Princess exhibits the same issue in Hyrule Field.

  3. Observe the results (I've linked to a screenshot of the profiler analysis)

http://i40.photobucket.com/albums/e204/muffin2121/vtune.jpg

What is the expected output? What do you see instead?

I expected the games to run at normal speed, instead some games exhibit slowdowns for no apparent reason, even when there is minimal geometry to render such as on the space ship in Super Mario Galaxy 2 and Beat Block galaxy. All of these slowdowns point to the current Fifo implementation, the Fifo_EnterLoop function being the culprit.

Dolphin version with the problem? Other Dolphin version without the
problem?

Almost every Dolphin revision exhibits these slowdowns and is affected.

32-bit or 64-bit and any other build parameters?

I always use the 64-bit version of Dolphin, my builds are compiled with the Intel C++ compiler with SSE4.1 compiler optimization.

OS version and versions of tools/libraries used?

I use Windows 7 x64 as my primary operating system. I used Intel Vtune to benchmark the games and analyze what is responsible for the slowdowns. Fixing the issue with Hyrule Field slowdowns will most likely fix other games affected by these weird slowdown issues. So far geometry doesn't seem to be responsible for the slowdowns, it seems to be some other underlying issue with the emulator.

Please provide any additional information below.

In addition to the Fifo_EnterLoop function, unlike the benchmarks with Zelda Twilight Princess, there now seems to be additional function also responsible for slowdowns in Super Mario Galaxy 2 at least, the function that is referred to as "set" in the Vtune benchmark results. The Fifo_Enterloop function also seems to be consuming a lot of resources as it did with Hyrule Field in Zelda Twilight Princess.

Either the emulator doesn't support a feature that exists on the actual hardware or the current Fifo implementation, specifically the outlined functions are inefficient.

Actions

Also available in: Atom PDF