Metroid Prime 2: Echoes (Metroid Prime: Trilogy): Difference between revisions

Jump to navigation Jump to search
(→‎Shader Generation Stuttering and the Black Bar: noting that there is a workaround)
(Recents edits were a tad too optimistic, and implied they fixed things they did not. Adjusted.)
Line 30: Line 30:


=== Shader Generation Stuttering and the Black Bar ===
=== Shader Generation Stuttering and the Black Bar ===
This game suffers from severe stuttering during shader generation. Because of the differences between how the Wii works compared to personal computers, whenever something uses the Wii's GPU, Dolphin must generate a shader to emulate it on a PC GPU. Shader generation causes a slight emulation delay while it's being created, so Dolphin caches these shaders in its shadercache folder to help keep things smooth. Most games don't care about this and play fine, but with all of the games in ''Metroid Prime Trilogy'', the shaders are so massive that they cause a significant delay, which creates a hard stutter and desyncs the GPU and CPU threads. The game freaks out over this desync, creating a black bar at the bottom of the screen, which takes up 15% of the screen space and "squishes" the game in the remaining space. The black bar will remain there from then on whether stuttering continues or ceases. Going into new areas or showing new effects will cause the stutter and black bar, as well as going in and out of fullscreen and even taking a screenshot. Building up a shadercache of an area helps, but it will still desync if a new effect or region is loaded.
This game suffers from severe stuttering during shader generation. Because of the differences between how the Wii works compared to personal computers, whenever something uses the Wii's GPU, Dolphin must generate a shader to emulate it on a PC GPU. Shader generation causes a slight emulation delay while it's being created, so Dolphin caches these shaders in its shadercache folder to help keep things smooth. Most games don't care about this and play fine, but with all of the games in ''Metroid Prime Trilogy'', the shaders are so massive that they cause a significant delay, which creates a hard stutter and desyncs the GPU and CPU threads. The game freaks out over this desync, creating a black bar at the bottom of the screen, which takes up 15% of the screen space and "squishes" the game in the remaining space. The black bar will remain there from then on whether stuttering continues or ceases. Going into new areas or showing new effects will cause the stutter and black bar, as well as going in and out of fullscreen and even taking a screenshot. Building up a shadercache of an area helps, but it will still stutter and desync if a new effect or region is loaded.


The issue can be avoided by adding the line "GPUDeterminismMode=fake-completion" to the game's INI file under the [Core] section. This prevents the desync, while causing only a minor performance hit. It can also be worked around by playing in Single Core mode, but that causes a much larger performance hit. See {{issue|4336}} and {{issue|5185}}.
There are ways to prevent the black bar problem. Adding the line "GPUDeterminismMode=fake-completion" to the game's INI file under the [Core] section. This prevents the desync, while causing only a minor performance hit. It can also be worked around by playing in Single Core mode, but that causes a much larger performance hit. Unfortunately, none of these solutions address the underlying shader generation issues, and so stuttering will remain while using these workarounds. See {{issue|4336}} and {{issue|5185}}.
*PAL users can also disable "EuRGB60 Mode (PAL60)" in the Wii settings to prevent the black bar from appearing. The stuttering during shader generation will remain, however.
*PAL users can also disable "EuRGB60 Mode (PAL60)" in the Wii settings to prevent the black bar from appearing. The stuttering during shader generation will remain, however.
{{image|MP2Tri NoSquish.jpg|Correct emulation}}
{{image|MP2Tri NoSquish.jpg|Correct emulation}}