Project

General

Profile

Actions

Emulator Issues #10707

open

Art of Balance Water Bowl

Added by kolano about 6 years ago. Updated 3 months 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?

Art of Balance

Game ID? (right click the game in the game list, properties, info tab)

WABEJX

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

2564bd5e6d306ce1e57b8739fd664d48

What's the problem? Describe what went wrong.

The reflection shown in the bowl of water below play occasionally flashes white for a frame.

What steps will reproduce the problem?

Start a game, observe the bowl of water during play

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-6004

Is the issue present in the latest stable version?

Yes, 5.0

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

Reported back to 4.0-6982, but likely present well before then

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

i7-6700K, GeForce 970, Windows 10


Files

Actions #1

Updated by kolano about 6 years ago

Reported that...
"This can be lessened (not fixed) by setting the backend to Direct3D and the Internal Resolution to Native."
...but that may not be accurate.

Actions #2

Updated by JMC4789 almost 6 years ago

  • Status changed from New to Questionable

Probably a dualcore issue.

Actions #3

Updated by kolano almost 6 years ago

Nope also happens with single-core.

Actions #4

Updated by Rupeeclock over 3 years ago

Encountered this issue myself on 5.0-13242 and investigated further.
Found that the issue can still occur across all graphical backends including Software Renderer.
Discovered that the issue does not occur when using the Cached Interpreter CPU Emulation Engine.
Appears to be an issue with the JIT Recompiler. MMU being enabled or disabled does not make a difference.
The white flickering issue is also observable whilst using wireframe rendering.

Separate to this issue, found that the IR cursor will not render in menus if the graphical hack "Fast Depth Calculation" is disabled.

Actions #5

Updated by JMC4789 over 3 years ago

  • Status changed from Questionable to Accepted

If you use the debug GUI via interface menu in config, can you disable parts of the JIT until you find out which part is broken?

Actions #6

Updated by Rupeeclock about 3 years ago

Using the debug GUI For Dolphin 5.0-13242, I tried turning off all of the available parts of JIT individually, or altogether, and then loaded a save state of the level select, and loaded a level.
In all cases this did not outright eliminate the white flickering issue, some parts being disabled could either increase or decrease the frequency of the flickering whilst others had no observable effect.
Using JIT LoadStore Off, the frequency of the white flicker could be reduced to one frame every few seconds, reduced from multiple frames per second.

Observed influences:

  • JIT Block Linking Off: No observable change
  • Disable JIT Cache: Emulation does not boot
  • Disable Fastmem: Greatly reduced flickering before dropping a piece into water, greatly increased afterwards when puzzle/water surface resets
  • JIT Off (JIT Core): Greatly reduced frequency
  • JIT LoadStore Off: Greatly reduced frequency
  • JIT LoadStore Ibzx Off: No observable change
  • JIT LoadStore IXz Off: Greatly increased frequency
  • JIT LoadStore Iwz Off: Greatly increased frequency
  • JIT LoadStore Floating Off: Increased frequency
  • JIT LoadStore Paired Off: No observable change
  • JIT FloatingPoint Off: Greatly increased frequency
  • JIT Integer Off: Greatly increased frequency
  • JIT Paired Off: No observable change
  • JIT SystemRegisters Off: No observable change
  • JIT Branch Off: Greatly increased frequency
  • JIT Register Cache Off: No observable change

Some additional notes:

  • Dropping a piece into the water will restart the puzzle and reset the surface tension of the water to an idle low-amplitude ripple; the flickering issue may be more immediately observed afterwards, but can also occur whilst the water is rippling.
  • The game is highly prone to an emulated system freeze when using frame advance or unpausing emulation whilst using JIT. Save states can be loaded when this occurs.

Further system info:

  • CPU: Intel Core i5 4690K @ 3.9Ghz
  • GPU: Nvidia GTX 770
  • OS: Windows 10 64 bit
  • RAM: 16 GB DDR3

I hope this information helps you with troubleshooting the issue.

Actions #7

Updated by JMC4789 about 3 years ago

With everything off, you're essentially running interpreter. So if there's still a difference, then we have a problem. We may need to see if there are occasional flickers on Wii.

Actions #8

Updated by Rupeeclock about 3 years ago

Everything off appeared to be very close to interpreter, but emulation performance was around 7 to 10 FPS whilst still running JIT, as compared to the average 2.3 FPS using Interpreter Core.
There might be something I missed given a lack of familiarity with the debug interface.

My Wii system is currently in storage and would be difficult for me to set back up to check this on real hardware.
This video from 2010 appears to provide game footage captured from Wii hardware, though the recording is only 30 FPS so may not be reliable.
https://www.youtube.com/watch?v=5xdl2eBR2vM

Updated by Rupeeclock about 3 years ago

I've prepared some video footage of Art of Balance being emulated for roughly 800 frames, with JIT Recompiler with options on, options off, and with Interpreter Core.
Slower footage has been sped up to more closely resemble real-time game play without discarding frames, but were purposefully captured to show the emulator window with debug settings and a frame counter.

In the JIT OFF footage, the issue is observed on emulation frames 1555, and 1587.

Actions #10

Updated by ZephyrSurfer almost 2 years ago

I looked into this a little. This is also heavily affected by the CPU Clock Override setting.

This issue also disappears at 11% (79 MHZ) and below. The issue occurs most frequently at around 30% - 40% and drops off a little up to 100% where it still occurs less regularly.

Actions #11

Updated by ZephyrSurfer almost 2 years ago

I also checked previous revisions to see if there has been a regression and I have a bisect.

4.0-850 and newer up until now produce this issue.

4.0-846 and previous work just fine.

4.0-850 -> https://dolphin-emu.org/download/dev/a0a65a2906af132f6da04cf552812aac6ac5f20a/

Actions #12

Updated by Rupeeclock 3 months ago

Rechecked recently using Dolphin 5.0-20560.
I noticed a new CPU option under Settings -> Advanced called "Enable Write-Back Cache (slow)", and tried enabling it for Art of Balance.
Enabling this setting appears to resolve the water flashing white, at the expense of emulation performance.

Actions #13

Updated by flacs 3 months ago

Once you get to world B, the bowl is going absolutely crazy. Slightly over- or underclocking the CPU avoids the issue.

Actions

Also available in: Atom PDF