Project

General

Profile

Actions

Emulator Issues #11611

closed

Bond games playing at half the framerate.

Added by Graslu about 5 years ago. Updated over 1 year ago.

Status:
Working as intended
Priority:
Normal
Assignee:
-
% Done:

0%

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

Description

Game Name?

007: From Russia With Love; 007: Everything or Nothing; GoldenEye: Rogue Agent

Game ID?

007: From Russia With Love [GLZE69]
007: Everything or Nothing [GENE69]
GoldenEye: Rogue Agent [GOYE69]

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

007: From Russia With Love [978b18050fac6b4bd47fab6069704bfa]
007: Everything or Nothing [765fcce09699b8632119402ab23d8e89]
GoldenEye: Rogue Agent [90b22781a7d78756548b0b2d954ffb45]

What's the problem? Describe what went wrong.

On all these three games, they play at 30FPS instead of the inteded 60FPS as it is on real hardware.
Dolphin is capable of running them at 60FPS without any issues if "Immediately Present XFB" is turned off, which makes the games look low res so it's not really a solution.

What steps will reproduce the problem?

Simply play any of these three games with "Immediately Present XFB" enabled and they'll stay locked at 30FPS. Disabling it will play them at the inteded 60FPS.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes, the issue is still present as of version 5.0-9729 (latest).

Is the issue present in the latest stable version?

Yes. 5.0.

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

i7 9700k @5.1GHz
GTX 1070 8GB OC
Windows 10 Pro
16GB RAM DDR4 3200MHz

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)




Files

Actions #1

Updated by JMC4789 about 5 years ago

Immediately Present XFB copies should not affect resolution unless our texture cache is failing. Try combining Immediately Present XFB Copies (unchecked) with Store XFB Copies to Texture Only in the latest development builds. There shouldn't be any way that it's locked to 1x internal resolution in that case.

Also, it's known in certain games that with Immediately Present XFB Copies will cause the wrong framerate to report even though it's running the same.

Actions #2

Updated by Graslu about 5 years ago

JMC4789 wrote:

Immediately Present XFB copies should not affect resolution unless our texture cache is failing. Try combining Immediately Present XFB Copies (unchecked) with Store XFB Copies to Texture Only in the latest development builds. There shouldn't be any way that it's locked to 1x internal resolution in that case.

Also, it's known in certain games that with Immediately Present XFB Copies will cause the wrong framerate to report even though it's running the same.

Combining Immediately Present XFB Copies and Store XFB Copies to Texture Only gives the game a pink screen while it keeps playing, same for Everything or Nothing and GoldenEye.

Even if it's a wrong framerate report or not, they're still running half the speed they should. Here's some footage of it running on real hardware: https://youtu.be/7JbkfWdV8zI

And here's the comparison in Dolphin: https://youtu.be/jCzXGWxNpaY?t=2m23s

Actions #3

Updated by JMC4789 about 5 years ago

Okay the texture cache is failing, that explains why they lock to 1x Internal Resolution.

Actions #4

Updated by Graslu over 4 years ago

The games are still running at 30FPS and have a pink screen by combining both options.

Actions #5

Updated by Graslu about 4 years ago

Latest version "5.0-11590" still has the same issue on all these games. They run at 60FPS on console.

Actions #6

Updated by JMC4789 about 4 years ago

We need to figure out why the texture cache is failing. Not sure if a fifolog would actually help in this case. I'll message a GPU dev just to see.

Actions #7

Updated by Graslu over 2 years ago

I can confirm that this is still happening as of "5.0-15105", with the difference that it is now not possible to have them running at 60FPS at all even after disabling "Immediately Present XFB" and "Skip Presenting Duplicate Frames".

Switching between the "Immediately Present XFB" and "Store XFB Copies To Texture Only" doesn't result on any noticeable change now, and makes the game hang (software) when switching them off / on again.

The same 3 games are still affected by this, not sure if there are more cases like this though.

Actions #8

Updated by ZephyrSurfer over 2 years ago

Just tested out "007: From Russia with Love" and "007: Everything or Nothing". Both have the same results. The poster's results do not match mine.

Immediately Present XFB does not negatively affect the resolution scaling in my testing. I even used 5.0-9729 like the poster had and lots of build in between and can not reproduce.

I also managed to boot 5.0-5833 sometimes where it would be capped to 30 FPS even with Real XFB. However I could not get 60 FPS in 5.0-5874 or later.

5.0-5833 (Default, 30 FPS) Scales
5.0-5833 (Virtual XFB, 30 FPS) Scales
5.0-5833 (Real XFB, 60 FPS) Fixed 1x IR

5.0-5874 (Store XFB to Texture only, Immediately Present XFB Off, 30 FPS) Scales
5.0-5874 (Store XFB to Texture and RAM, Immediately Present XFB Off, 30 FPS) Scales
5.0-5874 (Store XFB to Texture only, Immediately Present XFB On, 30 FPS) Scales
5.0-5874 (Store XFB to Texture and RAM, Immediately Present XFB On, 30 FPS) Scales

Actions #9

Updated by Graslu almost 2 years ago

ZephyrSurfer wrote:

However I could not get 60 FPS in 5.0-5874 or later.

That's the main issue here. These games listed above ran at a variable framerate with a maximum of 60FPS in most occasions. Nowadays I can't replicate neither the 60FPS, nor the pink screen or blurry resolution. But the games are still wrongly running at a fixed 30FPS.

Actions #10

Updated by Graslu almost 2 years ago

Since this issue is now around 3 years old, I'm going to update some information:

What's the problem? Describe what went wrong.
The games listed above all run at a mostly stable 60FPS on real hardware, however, when ran on Dolphin they are limited to 30FPS. There's currently no workaround that I know of for this.

What steps will reproduce the problem?
Simply play any of these games on Dolphin, they're all limited to 30FPS instead of 60FPS.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Yes, the issue is still present as of version 5.0-16380 (latest).

Is the issue present in the latest stable version?
Yes.

What are your PC specifications? (CPU, GPU, Operating System, more)
i7 9700k @5.1GHz
RTX 2080 Ti 11GB
Windows 10 Pro
32GB RAM DDR4 3200MHz

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

This video shows a comparison between real hardware and emulator footage. https://twitter.com/Graslu00/status/1533144929194622976

Actions #11

Updated by dio almost 2 years ago

they're all limited to 30FPS

This doesn't seem to be true, for the game you recorded at the very least. While it does seem to be engaging in excessive internal frameskipping, it doesn't seem to have put a 30 FPS cap on itself.

https://twitter.com/Graslu00/status/1533144929194622976

To confirm this, I looked at your video recording here . At several points, there are multiple new consecutive frames clumped together, so for those brief moments, the game is definitely running above 30 FPS. You can see this around the 00:14 - 00:17 mark for example, I estimate the internal FPS to be around 45-48 FPS there.

You can verify this on your end by stepping the footage frame-by-frame in your media player of choice. On MPC-HC this would be Ctrl + the Left/Right Arrow key (step back, step forward), on MPV this would be the comma key / the dot key, and on VLC you can only step forwards with the E key. Find a periodic pattern (like 3 new frames and 1 repeat), then simply project that to the target refresh => 3 (novel frames) / 4 (total frames) = 75%, so at a 60 target that'd give you 45 FPS. At that point in the video anyways.

This is just to clarify that the issue is not some magic refresh target related bug, but "simply" the game eating dirt for some reason.

Actions #12

Updated by Graslu almost 2 years ago

dio wrote:

they're all limited to 30FPS

This doesn't seem to be true, for the game you recorded at the very least. While it does seem to be engaging in excessive internal frameskipping, it doesn't seem to have put a 30 FPS cap on itself.

They're indeed limited to 30FPS, you can see it with the in-game frame counter. PAL runs at 25FPS.

https://twitter.com/Graslu00/status/1533144929194622976

To confirm this, I looked at your video recording here . At several points, there are multiple new consecutive frames clumped together, so for those brief moments, the game is definitely running above 30 FPS. You can see this around the 00:14 - 00:17 mark for example, I estimate the internal FPS to be around 45-48 FPS there.

The timestamp you mention is from real hardware, at 00:23 you can see Dolphin which is fixed to 30FPS. Real hardware runs around 45-60FPS. Same goes for Everything or Nothing and Rogue Agent.

You can verify this on your end by stepping the footage frame-by-frame in your media player of choice. On MPC-HC this would be Ctrl + the Left/Right Arrow key (step back, step forward), on MPV this would be the comma key / the dot key, and on VLC you can only step forwards with the E key. Find a periodic pattern (like 3 new frames and 1 repeat), then simply project that to the target refresh => 3 (novel frames) / 4 (total frames) = 75%, so at a 60 target that'd give you 45 FPS. At that point in the video anyways.

This is just to clarify that the issue is not some magic refresh target related bug, but "simply" the game eating dirt for some reason.

Yes, I've done this. Dolphin is 30FPS (1 frame updates every 2 on a 60FPS recording) and real hardware runs at around 45-60 as mentioned above. The original games run interlaced, while NTSC has progressive scan. I don't think this should be an issue considering most GC games run interlaced as well, to my knowledge.

Actions #13

Updated by dio almost 2 years ago

Oh nvm, I didn't read carefully enough, only the second part of the video is from the emu. Well, it's certainly not a joyride: got "dndndnnddndnnddnddn" (d = dud, n = new) at 00:42. Kind of surprising to see it sometimes push multiple new frames, but never more than two in a row.

Actions #14

Updated by JMC4789 almost 2 years ago

I'm going to turn off Dolphin's force progressive and check for myself how it looks. that should tell me if it's doing what I think it's doing.

Actions #15

Updated by Graslu almost 2 years ago

Part of it could be the recording software having some hiccups but at least it should be enough to prove that it isn't running as intended. It feels so much more responsive and smooth on real hardware compared to Dolphin, even when playing on PAL50.

Actions #16

Updated by JMC4789 almost 2 years ago

I disabled the Force Progressive Hack in order to see every individual field that game is sending and it's still 30 FPS. This isn't a texture cache failure for sure. The game is running 30 FPS. To be exact, 31 FPS, which is weird.

Actions #17

Updated by JMC4789 almost 2 years ago

Anyway, if I have to record this on real hardware to compare I will. I figure we gotta figure out what's going on. Are we sure the recordings from real hardware at the GameCube version?

It looks like it is, but I want to be sure.

Actions #18

Updated by JMC4789 almost 2 years ago

I recorded directly off of hardware on the GameCube version of the game over component cables. The recording appears to be 30 FPS. I will upload it so you may view it. I'm not an expert on this, but the game doesn't feel like 60 FPS to me. I frame counted it.

I did multiple recordings, along with just eyeballing it to make sure that I'm not doing anything wrong. If you're sure this works in older builds and you're sure that this works in console, you need to help us figure out how to reproduce it. The game runs a locked 30 FPS on my end on both.

Actions #19

Updated by Graslu almost 2 years ago

Yes the footage I posted above was recorded by myself on real hardware and it is the GameCube version. Your recording definitely is 30FPS, which is weird. Could it be the way you're recording it, or that using component cables forces 480P 30FPS instead of 360i/480i 60FPS target?

My consoles are in storage right now so I'm not able to get proper recordings, but I did get some with my phone at 60FPS. PAL version at 60Hz for Everything or Nothing and PAL50 for FRWL, as it doesn't support PAL60. Rogue Agent also runs above 30 at PAL60. I'm using the official RGB SCART cable for the big TV and the default original cables on my CRT. I'll attach a video and link two other examples.

Example 2 EON on CRT: https://cdn.discordapp.com/attachments/317030704196354050/982836408580472862/Everything_or_Nothing_framerate.mp4
Example 3 Rogue Agent on CRT: https://cdn.discordapp.com/attachments/317030704196354050/982836407477358693/Rogue_Agent_framerate.mp4

I'm not posting the From Russia With Love CRT example as the recording is flickering awfully due to the 50Hz, but I counted the frames and it is as described above around 40-50FPS on PAL.
I counted the frames on Vegas and it does seem to be 60FPS interlaced, with some slowdowns here and there as expected. As for the older builds I'll try again, I wasn't able to recreate it by using the one on my original post however, not sure if something external would've changed the results there. I'm able to get Dolphin to say it's running at 60FPS and 60VI/s but in reality it's still running at 30.

Actions #20

Updated by JMC4789 almost 2 years ago

I'll try one more thing tonight, but as far as I can tell, Dolphin is doing everything correctly based on what the game is trying to do.

FWIW: I swapped to my composite cables and it still ran the same.

Actions #21

Updated by Graslu almost 2 years ago

I don't understand how I'm getting higher frames then? When I try to run the PAL version on Dolphin it just limits to 25FPS, which is definitely not what was shown above for From Russia With Love.

Actions #22

Updated by JMC4789 almost 2 years ago

I tested the NTSC Xbox version earlier, and it ran the way you described. But I do believe the footage you showed was the GameCube version doing the same thing, so I'm kind of lost. I tried it on a two Wiis and my GameCube and all of them behaved the same.

Actions #23

Updated by Graslu almost 2 years ago

Yeah I can assure you all the new footage above is from real hardware, I just played it on my GameCube. The footage on the Twitter post iirc was recorded on Wii, first model.

Actions #24

Updated by JMC4789 almost 2 years ago

Was it the PAL or the NTSC versions? Because I can't reproduce this at all. The Xbox version runs as you describe, but my GameCube versions do not. How do you activate PAL60 in this title? If I can figure out how to make the game behave how you said it should on console, I should be able to figure out what's going on at the very least. I can't promise a fix, but right now I'm just feeling around blind because everything runs the same on both ends.

Actions #25

Updated by JMC4789 almost 2 years ago

Some of the confusion on older builds of Dolphin is that "RealXFB" couldn't actually tell what framerate a game was running. So, if it was running full speed, it'd always say 50/50 or 60/60.

Edit: NVM, you figured that out on your own. That's good, one less confusing point out of the way.

Actions #26

Updated by Graslu almost 2 years ago

The Wii recording was NTSC. The new ones I just uploaded is all PAL. To access PAL60 on Everything or Nothing and Rogue Agent boot the game while holding B and it'll ask you if you want to switch to 60Hz. As for FRWL, it only has 50Hz available, but even then I can assure you it does not run at 25FPS.

Actions #27

Updated by JMC4789 almost 2 years ago

I know what you're telling me, but it's literally doing that for me on my console. I need some way of reproducing what you guys are seeing. I see that you do speedruns, so I know you know what you're talking about. We just need to figure out why.

Actions #28

Updated by Graslu almost 2 years ago

Let me know if I can do anything else to help. I also have a hacked Wii U and Wii where I can run NTSC versions / force different settings and record with HDMI output. I can keep trying older versions tomorrow if needed.

Actions #29

Updated by JMC4789 almost 2 years ago

I'm giving up for the night, but now that I know this issue is weird, I'll continue to look into it. I looked into this years ago, and didn't see any difference between Dolphin and Console, so I didn't investigate it further. I just need to be able to see the variable framerate on console. I will order the PAL version if I have to, I will reproduce your setups if I have to.

I cannot use the Wii U as a valid setup, as it doesn't have native support for GameCube games. What I could do is setup the System Menu + NAND on Dolphin and try to boot it from the Wii System Menu to see if there is some kind of hack for this game.

Actions #30

Updated by Graslu almost 2 years ago

Don't think there's any hack as I can get those results on a default GameCube, but I'll try to get my proper setup soon so I can record raw footage of it to see the variable framerate properly. It is specially noticeable on the first Everything or Nothing level.

Actions #31

Updated by JMC4789 almost 2 years ago

I'm running it on a Stock GameCube, and a softmodded Wii.

Actions #32

Updated by Graslu almost 2 years ago

Alright then so tomorrow I'll go grab my GameCube and my softmodded Wii from storage and bring them here so I can test both versions, although my Wii is PAL so not sure if there'd be any differences when running NTSC games through homebrew.

Actions #33

Updated by JMC4789 almost 2 years ago

I'll do my best to narrow down what causes this behavior then. I also can hook up my Wii to the CRT downstairs so I can get some camera recordings if you think maybe my capture device is part of the problem.

Actions #34

Updated by Graslu almost 2 years ago

I got my GameCube setup and I'll look into this further today. It could also be that for some reason real hardware is outputting double frames and gives a placebo smoothness effect, but again I'll try to recreate my recording from 2019.

Actions #35

Updated by JMC4789 almost 2 years ago

I don't think it was placebo based on what I was watching. It matched what I saw online with the Xbox version, which runs with variable framerate. Let me know if you find anything interesting.

Actions #36

Updated by Graslu almost 2 years ago

I'll keep trying, using the GameCube for tests right now as my Wii is harder to reach at the moment, but I'll switch to it if needed. I also have the component cables for Wii that I could test with.

Actions #37

Updated by Graslu almost 2 years ago

This is strange, all the test recordings I did match Dolphin, 25 frames for PAL From Russia With Love, and 31 for Everything or Nothing. Really makes me wonder how I managed to get those 36-40FPS for From Russia With Love NTSC. Sadly I cannot test this unless I get my Wii from storage which isn't happening soon.

Still, real hardware feels smoother which makes me think Dolphin may have some kind of frame pacing issue, I shared comparisons to different people and they can notice how Dolphin seems to be inconsistent as well, so it's not just me at least.

Actions #38

Updated by JMC4789 almost 2 years ago

Turn off immediately present XFB copies to let the game's built-in double buffering work like it would on console.

Actions #39

Updated by JMC4789 over 1 year ago

  • Status changed from New to Questionable

I've been unable to find any proof that these games run at 60 FPS on console. The Xbox version of the games definitely run 60 FPS though.

Actions #40

Updated by JMC4789 over 1 year ago

  • Status changed from Questionable to Working as intended

I had an actual expert look into these on GameCube, not relying on my capture card/eyes.

They determined the games run ~30 FPS, sometimes dropping below 30 FPS. Because they're dropping below 30 FPS at times, I think it's fairly safe to say that they wouldn't be able to hit 60 FPS at most times. The footage had to be from Xbox, or maybe some kind of Wii tool that ran the CPU/GPU clocks higher that I know some people use.

Actions #41

Updated by Graslu over 1 year ago

JMC4789 wrote:

I had an actual expert look into these on GameCube, not relying on my capture card/eyes.

They determined the games run ~30 FPS, sometimes dropping below 30 FPS. Because they're dropping below 30 FPS at times, I think it's fairly safe to say that they wouldn't be able to hit 60 FPS at most times. The footage had to be from Xbox, or maybe some kind of Wii tool that ran the CPU/GPU clocks higher that I know some people use.

Thank you for confirming, sorry for the faulty report then. Still strange how old versions seemed to output 60FPS though.

Actions #42

Updated by JMC4789 over 1 year ago

They don't, RealXFB didn't have proper framerate readings. The old builds are lying to you.

Actions

Also available in: Atom PDF