Project

General

Profile

Actions

Emulator Issues #9023

closed

FPS halving with XFB enabled in Metroid Prime 2: Echoes

Added by BFG1992 over 8 years ago. Updated over 8 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

100%

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

Description

Game Name?

Metroid Prime 2: Echoes

Game ID? (right click the game in the game list, properties, info tab)

G2ME01

MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)

ce781ad1452311ca86667cf8dbd7d112

What's the problem? Describe what went wrong.

When enabling XFB (no matter Virtual or Real) the game starts to flicker or loses half of it's framerate (30 fps instead of 60), not both. That happens ingame (tried in underwater part of Torvus Bog), sometimes in the main menu too. If XFB is disabled, the game behaves as usual, but there's that black-bar-and-squishing bug.
Other games seems to be ok (tried some titles, not including other Metroid games though).

What steps will reproduce the problem?

Enable XFB Virtual or Real, then launch the game and start playing.

Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?
4.0-7864 to current (4.0-7952 at the moment) have this bug.
4.0-7862 and older are ok.
Apparently, the problem was introduced in 4.0-7864.

What are your PC specifications? (CPU, GPU, Operating System, more)

Intel Core i3-3120M
NVIDIA GeForce GT645M
6 GB of RAM


Related issues 1 (0 open1 closed)

Has duplicate Emulator - Emulator Issues #9028: Sonic Adventure 2: Battle Broken by 4.0-7864Duplicate

Actions
Actions #1

Updated by JMC4789 over 8 years ago

  • Assignee set to booto

If an accuracy change broke the fix, then there's nothing that can be done. The game is entering a glitch state due to dualcore mode, and if that's causing it to screw up...

If the FPS halving is happening before the glitch state, then that's different

Actions #2

Updated by phire over 8 years ago

The xfb option really shouldn't interact with VI timing.

Actions #3

Updated by BFG1992 over 8 years ago

JMC4789 wrote:

If an accuracy change broke the fix, then there's nothing that can be done. The game is entering a glitch state due to dualcore mode, and if that's causing it to screw up...

If the FPS halving is happening before the glitch state, then that's different

Tested with DualCore off, bug is still here.

Actions #4

Updated by TheVelocirapture over 8 years ago

I can confirm that issue is present in other games. I tested Super Smash Bros: Melee, Metroid Prime 1, Metroid Prime Trilogy (all 3), Paper Mario: The Thousand Year Door (60 FPS games), and The Legend of Zelda: The Wind Waker (A 30 fps game), and the halved framerate was present in all of the games I tested.

It appears as though XFB is duplicating frames, rather than explicitly lowering framerate, because:
the gameplay speed is not affected
the FPS counter still says 60 (30 in Wind Waker)
and frame advance requires 2 presses to advance one frame visually.

Perhaps the reason that it either flickers or halves the framerate is because the flicker is attempting to duplicate the frame and is unsuccessful, so it displays a black frame as a plan B of sorts? If this were the case, solving the halved framerate issue would solve both problems.

Actions #5

Updated by badkarma133333 over 8 years ago

The same PR breaks Baten Kaitos Origins in a different way. While the movies play at full speed, it causes the Movies, main menu and a few other menus (I think) to "jump" up and down every few frames. This happens on all backends with all settings, including single core mode. Me thinks this accuracy change was not so accurate.

Actions #6

Updated by badkarma12 over 8 years ago

I should also mention that the black frames thing mentioned on the tester part of the Wiki page have not existed for a long time but might be a cause if they weren't fixed properly.

Actions #7

Updated by booto over 8 years ago

Which graphics backend?

Can you provide a G2ME01 savefile close to the affected area?

Actions #8

Updated by BFG1992 over 8 years ago

@booto
Both backends are affected. Game starts to look wrong from menus - menu background video becomes a little choppy and ends abruptly (no screen shutdown effect when starting a new game or loading save).
There's no need for a savestate, just start a new game - the game is affected right after the end of a starting video cutscene (when the game's graphics shows up).

Actions #9

Updated by badkarma12 over 8 years ago

Add sonic adventure 2 and some of the games in Metroid Prime Trilogy to the list. Again, this happens on all backends will all settings, as these games require xfb. Not a dual core issue.

Actions #10

Updated by BFG1992 over 8 years ago

I've discovered that menu video stuttering in MP2:E happens regardless of XFB setting, even when it is disabled.

Actions #11

Updated by JMC4789 over 8 years ago

  • Status changed from New to Accepted
Actions #12

Updated by JMC4789 over 8 years ago

  • Milestone set to Current
Actions #13

Updated by JosJuice over 8 years ago

Actions #14

Updated by badkarma12 over 8 years ago

Can someone just revert PR 3057 until this issue is fixed? It breaks much more than it fixes... right now I'm just reverting it to my own build but I'm lazy and keep forgetting everytime a new build comes out.

Actions #15

Updated by booto over 8 years ago

Could you please try this PR? https://github.com/dolphin-emu/dolphin/pull/3252

A prebuilt package for Windows x64 is available here: https://dl.dolphin-emu.org/prs/pr-3252-dolphin-latest-x64.7z

Actions #16

Updated by BFG1992 over 8 years ago

Tested Metroid Prime 2 in your build (used prebuilt package). Now it's not halving anymore, but flickering instead. Also a menu background video stuttering appears a bit different.

Actions #17

Updated by JMC4789 over 8 years ago

Does it flicker in single core?

Actions #18

Updated by JMC4789 over 8 years ago

The answer is no, at least for me. Considering these games enter a strange glitched state in dualcore, i'm not really surprised.

Regarding the video stuttering: this change isn't really meant to address that.

Actions #19

Updated by BFG1992 over 8 years ago

Sorry, forgot to disable DC. Tested again - no flickering in SC, yes. But hey, before 4.0-7864 there was no flickering in DC too...
The video stuttering also was introduced in 4.0-7864, so this is related, I think.

Actions #20

Updated by booto over 8 years ago

I don't seem to be able to get the stuttering or the flickering to occur.

Is the flickering similar at all to the black bar problem mentioned in this post: https://dolphin-emu.org/blog/2015/10/01/dolphin-progress-report-september-2015/ ?

Do you have vsync on?

Sorry for all the questions, but it's really hard for me to try to diagnose (and hopefully address!) the problem when I can't actually reproduce it locally.

Actions #21

Updated by BFG1992 over 8 years ago

Re-tested again in your build, it seems that, yes, it's totally related to the black bar appearing. I did a couple of launches in a same game level (for Dolphin to generate a shader cache for it) and noticed that flickering occurs only after the game "freaks out" (and becomes blackbar-ed without XFB).

Vsync: off in OGL, on in D3D, flickering occurs in both.

Feel free to ask as many questions as you need :)

Actions #22

Updated by booto over 8 years ago

Does the problem still occur if you have SyncGPU on?

Right click the game on your list->properties->somewhere near the middle of the list of checkboxes.

Actions #23

Updated by BFG1992 over 8 years ago

Enabled SyncGPU - no flickering. The black bar doesn't appear too.
(But FPS is too sluggish to play on my hardware)

Actions #24

Updated by badkarma12 over 8 years ago

Booto, your build fixes Baton Kaitos. No need for single core or sync GPU. That said, the behavior in Baton Kaitos was a bit different from the other bugs that 4.0-7864 introduced so I think there might be some other suppressed bug there... maybe something to look into in the future. With this PR, at the beginning of the games intro video, there are some minor (i think intended) light effects, like a strobing sunbeam/light effects and I think (not sure) that they occur at the same time when the previous build dropped frames.

Actions #25

Updated by badkarma12 over 8 years ago

badkarma12 wrote:

Booto, your build fixes Baton Kaitos. No need for single core or sync GPU. That said, the behavior in Baton Kaitos was a bit different from the other bugs that 4.0-7864 introduced so I think there might be some other suppressed bug there... maybe something to look into in the future.

Actions #26

Updated by badkarma12 over 8 years ago

Shit sorry ignore that last part about the strobing, its fine and unrelated at all. All good.

Actions #27

Updated by JMC4789 over 8 years ago

  • Status changed from Accepted to Fixed
Actions

Also available in: Atom PDF