Project

General

Profile

Actions

Emulator Issues #9887

open

Batman Begins randomly speeds up despite 100% speedlimit

Added by hyperspider almost 8 years ago. Updated almost 2 years ago.

Status:
Accepted
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?

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?

  1. run game
  2. Start new game
  3. 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.

Actions #1

Updated by JMC4789 almost 8 years ago

What's happening is that the game is actually running at half speed. Single Core should more or less work correctly.

Actions #2

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.

Actions #3

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.

Actions #4

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

Actions #5

Updated by JMC4789 over 6 years ago

  • Status changed from New to Accepted
Actions #6

Updated by ZephyrSurfer almost 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/

Actions #7

Updated by ZephyrSurfer almost 3 years ago

This issue turns out to be the same as the one facing Buffy the Vampire Slayer: Chaos Bleeds (Issue #10575)

Actions #8

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)

Actions

Also available in: Atom PDF