Emulator Issues #10707
Art of Balance Water Bowl
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?
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
#4 Updated by Rupeeclock 4 months ago
- File Dolphin - Art of Balance water issue - 5.0-13242 Software Renderer.png Dolphin - Art of Balance water issue - 5.0-13242 Software Renderer.png added
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.
#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.
* 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.
#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
- File Art of Balance 5.0-13242 Interpreter Footage.webm Art of Balance 5.0-13242 Interpreter Footage.webm added
- File Art of Balance 5.0-13242 JIT OFF Footage.webm Art of Balance 5.0-13242 JIT OFF Footage.webm added
- File Art of Balance 5.0-13242 JIT ON Footage.webm Art of Balance 5.0-13242 JIT ON Footage.webm added
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.