Metroid Prime 3: Corruption (Metroid Prime: Trilogy): Difference between revisions

m
m (Text replacement - "\<s\>(.*)\<\/s\>" to "{{s}}$1{{/s}}")
m (Copying over from Metroid Prime 3: Corruption (Wii))
Line 25: Line 25:


== Problems ==
== Problems ==
=== Constant Wii Remote Disconnects ===
=== Constant Wii Remote Disconnects ===
Since {{revision|3.5-471}}, when using the MS Bluetooth Stack (the default bluetooth stack on Windows) Prime 3 will think that the wiimote is constantly disconnecting. Pressing Alt-F5 will restore it, but it will disconnect again seconds later. Windows users can disable "Enable Speaker Data" to solve this problem, or move to either the Toshiba Stack or the DolphinBar.
Since {{revision|3.5-471}}, when using the MS Bluetooth Stack (the default bluetooth stack on Windows) Prime 3 will think that the wiimote is constantly disconnecting. Pressing a button on the Wii Remote will restore it, but it will disconnect again seconds later. Windows users can disable "Enable Speaker Data" to solve this problem, or move to either the Toshiba Stack or the DolphinBar.


=== Shader Generation Stuttering and the Black Bar ===
=== Shader Compilation Stuttering ===
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 ''Metroid Prime 3'', 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 ''Metroid Prime'' games are some of the most susceptible titles to shader compilation stuttering, thanks to a combination of very complex effects and dynamic loading. The GC and Wii have no concept of shaders - everything runs directly "on the metal" without any APIs. Modern desktop and phone systems do not work in this way, requiring the use of shaders as an intermediary so your system's GPU can perform the tasks that the GC and Wii GPU performed. But shaders have to be created, and since GC/Wii games are not designed to create shaders ahead of time as a PC game would, when a new effect appears Dolphin has to delay the CPU thread while the GPU thread performs the compilation; a pause that does not exist on the consoles. For most games shader generation takes only a few milliseconds, but for the ''Metroid Prime'' series and a few other demanding titles, the shaders that they generate are so large that they can result in noticeable stuttering.


There is no solution at this time. Playing with Dual Core disabled or using Sync GPU Thread is the only solution currently available, and both result in a significant performance hit on one of Dolphin's most demanding games. See {{issue|5185}}.
Eventually stuttering will reduce as a shader cache is built up, but there is no solution to this problem at this time.
*PAL users can disable "PAL60 Mode (EuRGB60)" in the Wii settings to prevent the black bar from appearing. The stuttering during shader generation will remain, however.
{{image|MP3 NoSquish.jpg|Correct emulation}}
{{image|MP3 Squish.jpg|Black bar with the squished image|br}}


=== Bloom Offset ===
=== Bloom Offset ===
Line 43: Line 39:


=== Visors ===
=== Visors ===
Visors will only work if '''EFB Copies to Texture Only''' is disabled. Though '''EFB Copies to Texture Only''' is forced off by the GameINI, visor corruption may still occur if the graphics configuration window is opened during gameplay. Disable '''EFB Copies to Texture Only''' in the Dolphin GUI to avoid any problems.
The Scan visor will only work if '''Store EFB Copies to Texture Only''' is disabled. Though '''Store EFB Copies to Texture Only''' is forced off by the GameINI, visor issues may still occur if the graphics configuration window is opened during gameplay. Disable '''Store EFB Copies to Texture Only''' in the Dolphin GUI to avoid any problems.


=== Dot ===
=== Dot ===
When playing above 1x Native internal resolution, there is a dot in the center of the screen. It's small and easy to ignore, but it's always there. There is no fix for this problem.
When playing above 1x Native internal resolution, there is a dot in the center of the screen. It's small and easy to ignore, but it's always there. There is no fix for this problem.
{{image|MP3-Thedot-zoom.png|The dot, zoomed in 8x|br}}
{{image|MP3-Thedot-zoom.png|The dot, zoomed in 8x|br}}
=== The Black Bar ===
During Shader Compilation, stuttering can become so severe that it desyncs the GPU and CPU threads in Dual Core mode. 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.
After {{revision|4.0-7517}}, enabling Virtual XFB or Real XFB will fix and/or prevent the problem. If XFB is disabled the problem may still occur. Details can be found in the [https://dolphin-emu.org/blog/2015/10/01/dolphin-progress-report-september-2015/#40-7517-derive-field-timings-from-video-interface-registers-by-booto September Progress Report].
{{image|MP3 NoSquish.jpg|Correct emulation}}
{{image|MP3 Squish.jpg|Black bar with the squished image|br}}


=== {{s}}Savestates{{/s}} ===
=== {{s}}Savestates{{/s}} ===
Using savestates in MP3 will crash Dolphin. Use the in-game saving to avoid any problems. Seems to be fixed in recent builds ({{revision|4.0-5516}} and onward).
Using save states in MP3 will crash Dolphin. Use the in-game saving to avoid any problems. Seems to have been fixed in the recent builds ({{revision|4.0-5615}} and onward).


=== {{s}}Pixelation Glitches{{/s}} ===
=== {{s}}Pixelation Glitches{{/s}} ===
Line 62: Line 66:
<!--A full list of options is available at Template:Config/doc-->
<!--A full list of options is available at Template:Config/doc-->
{{Config
{{Config
|xfb = Virtual
|xfbnotes = Needed to prevent the black bar
|efb2texonly = Off
|efb2texonly = Off
|efb2texonlynotes = Needed to avoid visor issues
|efb2texonlynotes = Needed to avoid visor issues
Line 67: Line 73:
|enablespeakerdatanotes = Causes constant wiimote disconnects
|enablespeakerdatanotes = Causes constant wiimote disconnects
}}
}}


== Version Compatibility ==
== Version Compatibility ==