Project

General

Profile

Actions

Emulator Issues #12486

closed

F-Zero X: Multiple Second Stutter on Certain Transitions

Added by JMC4789 about 3 years ago. Updated about 3 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

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

Description

Game Name?

F-Zero X

Game ID? (right click the game in the game list, Properties, Info tab)

NAFE01

What's the problem? Describe what went wrong.

After selecting a track, you pick your car. When you pick your car, you'll get a several second long stutter. It will stutter if you go back and forth as well.

What steps will reproduce the problem?

Start up game, Select Grand Prix Mode, Select Track, Select Car.

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

5.0-14007

Is the issue present in the latest stable version?

Unknown 5.0 won't work with my NAND. I tested back to 5.0-10658 and the issue existed

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

Core i7-6700K, GTX 1070, Windows 10

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

You can mostly fix the issue by "disable JIT Branch".

Leoetlino later identified that falling back "Jit64::bx" would also mostly fix the slowdown with less of a performance hit. Both caused a sizeable performance hit.

Actions #1

Updated by JMC4789 about 3 years ago

There's actually multiple bisect points from a really complicated bisect, changes in settings, etc. I've determined the actual culprits though. The game's stutter was almost non-existent in 5.0-2012, the game was then broken in 5.0-2021, and when it was fixed in 5.0-2031, the stutter was there. At some point after this, the stutter was reduced greatly, but was a little bit slower than 5.0-2012. Then, when Spycrab added the Jit Follow Branch option in 5.0-8377, the gigantic stutter returned.

Here are the potential culprits to the regression

5.0-2021 - Store the JIT Blocks in std::map - https://dolphin-emu.org/download/dev/ef7a809fad6463b5d38c5ebe5270772701af4789/
5.0-2031 - Jitcache freeing hotfix - https://dolphin-emu.org/download/dev/5ed94a0f670c15cbb1f097545309692fbba4dfae/

Both of these commits were by degasus. The regression does not exist immediately before these builds, and exists in the next working build.

Actions #2

Updated by JosJuice about 3 years ago

  • Regression changed from No to Yes
  • Relates to performance changed from No to Yes
Actions #3

Updated by leoetlino about 3 years ago

  • Status changed from New to Work started
  • Regression start set to 5.0-2021
Actions #4

Updated by leoetlino about 3 years ago

  • Status changed from Work started to Fix pending

https://github.com/dolphin-emu/dolphin/pull/9666

Not sure how to get rid of the stutters entirely but the PR turns 7s stutters into 0.7s stutters, which is close to 5.0 stable.

Actions #5

Updated by JosJuice about 3 years ago

  • Status changed from Fix pending to Fixed
  • Fixed in set to 5.0-14068
Actions #6

Updated by JMC4789 about 3 years ago

Should I report an issue for the remaining stuttering?

Actions

Also available in: Atom PDF