Emulator Issues #10707

Art of Balance Water Bowl

Added by kolano over 3 years ago. Updated 4 months ago.

% Done:


Operating system:
Issue type:
Relates to usability:
Relates to performance:
Relates to maintainability:
Regression start:
Fixed in:


Game Name?

Art of Balance

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


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


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.


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


#1 Updated by kolano over 3 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.

#2 Updated by JMC4789 almost 3 years ago

  • Status changed from New to Questionable

Probably a dualcore issue.

#3 Updated by kolano almost 3 years ago

Nope also happens with single-core.

#4 Updated by Rupeeclock 4 months 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.

#5 Updated by JMC4789 4 months 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?

#6 Updated by Rupeeclock 4 months 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.

#7 Updated by JMC4789 4 months 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.

#8 Updated by Rupeeclock 4 months 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.

#9 Updated by Rupeeclock 4 months 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.

Also available in: Atom PDF