Progress Continues
We've already had 21543 updates since Dolphin 5.0. Keep up with Dolphin's continuing progress through the Dolphin Blog: February, March, and April 2024 Dolphin Progress Report. |
The Dolphin Emulator Wiki needs your help! Dolphin can play thousands of games, and changes are happening all the time. Help us keep up! Join in and help us make this the best resource for Dolphin. |
Metroid Prime 2: Echoes (GC): Difference between revisions
Jump to navigation
Jump to search
→Shader Generation Stuttering and the Black Bar
m (Text replacement - "\<s\>(.*)\<\/s\>" to "{{s}}$1{{/s}}") |
|||
Line 27: | Line 27: | ||
== Problems == | == Problems == | ||
=== Shader Generation Stuttering and the Black Bar === | === {{s}}Shader Generation Stuttering and the Black Bar{{/s}} === | ||
This game suffers from severe stuttering during shader generation. Because of the differences between how the GameCube works compared to personal computers, whenever something uses the GameCube'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 this game, 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. | This game suffers from severe stuttering during shader generation. Because of the differences between how the GameCube works compared to personal computers, whenever something uses the GameCube'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 this game, 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. | ||
Playing with Dual Core disabled or using Sync GPU Thread fix the issue, but both result in a significant performance hit. See {{issue|4336}} and {{issue|5185}}. Fixed by {{revision|4.0-7517}}. | |||
{{image|MP2GC NoSquish.jpg|NTSC Correct emulation}} | {{image|MP2GC NoSquish.jpg|NTSC Correct emulation}} | ||
{{image|MP2GC Squish.jpg|NTSC Black bar and squishing|br}} | {{image|MP2GC Squish.jpg|NTSC Black bar and squishing|br}} |