Emulator Issues #4957

Paper Mario TTYD runs at the wrong framerate

Added by florian98.rg almost 9 years ago.

% Done:


Operating system:
Issue type:
Relates to usability:
Relates to performance:
Relates to maintainability:
Regression start:
Fixed in:


1) Game Name and ID (as it appears in right click > properties: "GZ2P01",
"RSBE01", etc): Paper Mario TTYD PAL G8MP01

2) What is the expected output? What do you see instead?
Game doesn't run at 60FPS even with 60hz Mode enabled, it runs at 50FPS!

3) Did the game ever work correctly (i.e. not have this problem) on an
earlier version of dolphin? Please specify the exact revision when the
problem began.
It was like this since i first used Dolphin (4000 Rev)

4) What steps will reproduce the problem?
1.Start Paper Mario TTYD
2.Select 60hz Mode
3.Go in-game

5) What version of dolphin are you using (32bit/64bit along with the
version as it appears in the title bar, etc)?
On what operating system, drivers, and hardware? Be sure to list OS,
graphics driver information, and video card model if you are having
graphics problems, for example.
I'm using Dolphin-3.0-191, though the version doesn't really matter.
Settings also don't matter as it happens with default ones too.

6) Please provide any additional information below.
When disabling Idle Skipping, i get 60FPS, however it looks like it skips some frames every 3 Seconds or so...

It also happened to other games, but i'm not sure if it's the same issue, as it happened in later Revs...

7) Attachments. IMPORTANT! We have a limited storage quota on
GoogleCode, so please use a 3rd party host for screenshots or any other
files ( for example).

Related issues

Is duplicate of Emulator - Emulator Issues #7143: DualCore timing issuesNew


#1 Updated by florian98.rg almost 9 years ago

Forgot to remove 7, ignore it ;D

#2 Updated by danialhorton almost 9 years ago

use 50hz instead, theres no reason to change it and doing so usually does cause frame divisor issues in the emulator.

#3 Updated by florian98.rg almost 9 years ago

That's not a fix, that's a bypass....

#4 Updated by danialhorton almost 9 years ago

True, but its all you'll get for now most likely.

The emulator doesn't handle the difference between 50 and 60 switching too well in the limited testing i've performend.

What you end up doing is trying to force 60frames per second through 50hz timing.

#5 Updated by hatarumoroboshi almost 9 years ago

Try to enable progressive scan in the graphic settings and see if something changes.

#6 Updated by florian98.rg almost 9 years ago


Also the game plays at 60FPS when disabling Idle Skipping...
However it skips frames every ~5-10 Seconds...

#7 Updated by Billiard26 over 7 years ago

  • Status changed from New to Questionable

Is this issue present in recent revisions?
If so, which revision?

#8 Updated by Billiard26 over 7 years ago

  • Issue type set to Bug

#9 Updated by alexduffy44 over 6 years ago

I also seem to be having a similar issue with the PAL version of the game. I can start the game in 60hz mode and it will run at 60fps until you enter the pause menu, at which point it will drop to 50 fps and stay there until the game is reloaded. The issue seems to occur on both Dolphin 4.0-1054 and Dolphin 4.0.1.

#10 Updated by Pikachu025 about 5 years ago

This issue still exists as of 4.0-r6535.

Using JIT Dual Core or JITIL Dual Core and OpenGL, you can easily see this issue in action by setting a breakpoint in Core/HW/VI/VideoInterface.cpp: UpdateParameters(). After booting and selecting 60Hz Mode, the game will regularly call this function, usually, but not exclusively, on screen transitions or when opening the menu as far as I can tell -- just run around between the different Rogueport screens for a while and it'll happen every so often. For a while it'll just re-set the NTSC parameters (m_DisplayControlRegister.FMT == 0), but eventually it will set the PAL ones (m_DisplayControlRegister.FMT == 1), and from then on it'll never set the NTSC parameters again.

This issue does not appear to occur at all in JIT Single Core or JITIL Single Core. Neither of those appear to ever call UpdateParamters() again after the initial Nintendo/IntSys logos.

This issue might be related to shader compilation in some way, as it occurs noticeably more often if you delete the shader cache for the game. It reminds me of the Metroid Prime 2 black bar issue.

If you lack the European TTYD to debug this, you can still see the UpdateParameters() calls on the Japanese (and presumably US, although I don't have that to test) version of the game, though of course without the actual effect on the framerate and horizontal line count.

#11 Updated by Pikachu025 about 5 years ago

Setting GPUDeterminismMode to fake-completion seems to fix this as well, so whatever the actual cause is most likely related to CPU<->GPU syncing.

#12 Updated by JMC4789 about 5 years ago

  • Status changed from Questionable to Duplicate

Also available in: Atom PDF