Project

General

Profile

Emulator Issues #12486

F-Zero X: Multiple Second Stutter on Certain Transitions

Added by JMC4789 about 1 month ago. Updated 20 days 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.

History

#1 Updated by JMC4789 about 1 month 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.

#2 Updated by JosJuice about 1 month ago

  • Relates to performance changed from No to Yes
  • Regression changed from No to Yes

#3 Updated by leoetlino 29 days ago

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

#4 Updated by leoetlino 21 days 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.

#5 Updated by JosJuice 20 days ago

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

#6 Updated by JMC4789 20 days ago

Should I report an issue for the remaining stuttering?

Also available in: Atom PDF