Emulator Issues #9887
openBatman Begins randomly speeds up despite 100% speedlimit
0%
Description
Game Name?
Batman Begins (USA)
Game ID? (right click the game in the game list, properties, info tab)
GINE69
MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)
39307e2374e1c6606a7d2e023d1c7e96
What's the problem? Describe what went wrong.
When I'm running the game, at certain points, the game will run too fast, even though the speedlimiter is set to 100%. Interestingly, these happen at the exact same points in the game, even if I restart Dolphin.
The random speedups cause the game to move too fast at some points, and some audio to go completely out of sync. For example, at the beginning of the game, when the man is dropped through the skylight, you don't hear the breaking glass until he hits the ground. After the cutscene, the first combat sequence, and the next cutscene finish, when I walk, Batman moves extremely fast (as does the rest of the game) for a couple seconds.
What steps will reproduce the problem?
- run game
- Start new game
- play through the first couple minutes and the speedups happen
I tried both the OpenGL and DX11 backends
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?
Running 5.0-1318. I tried 4.0-8116 with the same problem.
What are your PC specifications? (CPU, GPU, Operating System, more)
I'm running Win10 x64
GPU: Nvidia GTX 1080
CPU: Intel i7-6700K at 4.0 GHz
Computer runs at 1440p144Hz
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
The internal resolution is set to 4x Native for 1440p, Vsync is on, runs in Fullscreen exclusive mode. Changing these options made no difference.
Strangely, setting "Enable CPU Clock Override" to true and setting the override to 400% actually made the game run with no speedup at all, so it ran perfectly with that setting.
Updated by JMC4789 about 8 years ago
What's happening is that the game is actually running at half speed. Single Core should more or less work correctly.
Updated by hyperspider almost 8 years ago
JMC4789 wrote:
What's happening is that the game is actually running at half speed. Single Core should more or less work correctly.
Apologies for the late reply,
Assuming single core is the same thing as disabling Dual Core, it didn't seem to make any difference. I still get the weird speedups.
Updated by JMC4789 almost 8 years ago
I think this game may require more accurate CPU timings, the work-around may just be using CPU Clock Override for now. Sorry.
Updated by hyperspider almost 8 years ago
Ah okay thanks for looking into it. Just as a note, I remember playing the game about a year ago on whatever the development version was at on a laptop with a GTX 770M, and I didn't have this problem.
Also for situations like this, I think the ini option in this feature request would be really helpful so you don't "set and forget" in the main options and then file a bug request for something it caused: https://bugs.dolphin-emu.org/issues/8135
Updated by ZephyrSurfer about 3 years ago
I've only been looking at the start of the game cutscene where a man falls through the skylight.
The sound syncs up if you run it through the wii menu then run the GameCube disc. The sound does not sync up if ran from the gamelist.
The sound used to sync up while running it through the gamelist but a previous revision broke it.
4.0-7592 -> https://dolphin-emu.org/download/dev/6bc95b3f6de2aaf411ab075f9f4b918e3f44e818/
Updated by ZephyrSurfer about 3 years ago
This issue turns out to be the same as the one facing Buffy the Vampire Slayer: Chaos Bleeds (Issue #10575)
Updated by ZephyrSurfer almost 2 years ago
There are two bisects.
The issue started in 4.0-7517 -> https://dolphin-emu.org/download/dev/ecbb83fa0f6c63def7b0e7d17b6f7e8b47bcb724/
The issue was still present in 4.0-7540.
The next version seems to have worked around the issue by disabling display_control_register.ENB, 4.0-7542 -> https://dolphin-emu.org/download/dev/8dd80b8e970c9da306892862bb09329d231aacc4/
Disabling display_control_register.ENB caused issues in VC and PAL games like Wind Waker
That change was reverted in 4.0-7592 -> https://dolphin-emu.org/download/dev/6bc95b3f6de2aaf411ab075f9f4b918e3f44e818/
So we're back to the issue.
The first commit from 4.0-7517 caused the issue (480dbb22f2cfddf7fa989f3a68fbfec075b3a1b4)
I think it's specifically the changes in the SystemTimers.cpp with the changes to the values passed to ScheduleEvent, possibly in VICallback(). (Looks like GetTicksPerHalfLine is a little less than half of GetTicksPerLine)