Dolphin, the GameCube and Wii emulator - Forums

Full Version: Hyrule Field Slowdown Observation
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
The slowdown happens while the game draws the ingame map. it does this by renderering all of the ground triangles using differing texturing environments(hope i correctly interpreted texenv from the sources). Every time the texturing environment is changed, dolphin does a flush of the video pipeline, with is pretty costly.

Hyrule field consists over all of 127 000 triangles, which the game draws to the map in chunks of 9-10 triangles, leading to 12 700 video pipeline flushes per frame.

I made the relevant function not emit the pipeline flush on texture environment change, instantly increasing framerate by 200%(and making my lowly system limited by emulating the virtual cpu again), but i get some graphical glitches especially in text rendering, and the map is sometimes missing the walls. Otherwise, gameplay is not affected Smile.

I am not a dolphin developer, but from what i see, i think this problem will need some redesign in the gpu emulation, so fixing this will probably take some time.
(04-24-2010, 06:22 AM)kiesel-stein Wrote: [ -> ]The slowdown happens while the game draws the ingame map. it does this by renderering all of the ground triangles using differing texturing environments(hope i correctly interpreted texenv from the sources). Every time the texturing environment is changed, dolphin does a flush of the video pipeline, with is pretty costly.

Hyrule field consists over all of 127 000 triangles, which the game draws to the map in chunks of 9-10 triangles, leading to 12 700 video pipeline flushes per frame.

I made the relevant function not emit the pipeline flush on texture environment change, instantly increasing framerate by 200%(and making my lowly system limited by emulating the virtual cpu again), but i get some graphical glitches especially in text rendering, and the map is sometimes missing the walls. Otherwise, gameplay is not affected Smile.

I am not a dolphin developer, but from what i see, i think this problem will need some redesign in the gpu emulation, so fixing this will probably take some time.
Do you have the patch?
Yeah, it would be nice to at least provide a patch or what was altered so others may test it. It might even give developers further insight on the issue so they can properly fix it.
(04-24-2010, 07:48 AM)James333 Wrote: [ -> ]Do you have the patch?
Sure. Here you go.
I just tested this, does indeed seem to give a nice boost. However even though the speed is better, I am am getting about 18 - 20 FPS in Hyrule field later in the game so it's still not full speed yet.

I haven't noticed any issues with missing geometry or text issues yet but I will test it a bit more.

Good job though, perhaps this might narrow things down a bit more for developers.
I've just noticed the issue with text on button dialogs, perhaps with a little more work this might be a somewhat feasible solution for now until developers can actually fix the issue.
Thanks for the patch kiesel-stein, hopefully a step further to fixing this!

Anybody wanna upload a patched build?
I've also noticed some other issues with the text as you mentioned, needs a bit more work and it might be a feasible solution for now.

Only problem is that there is still slowdowns, just not as bad as before. With the patch I get about a 5 - 6 FPS increase on Hyrule Field, on the slowest Hyrule Field I went from 12 - 13 FPS to about 18 - 20 FPS.
wow thats some great news! ... i dont want to be rude or anything but could someone upload a build with the patch? I would like to give this a try. thanks Wink
I can try to have a build uploaded later on. Wink

I'm quite surprised that there is a lack of feedback or responses from the developers considering this could technically be considered a breakthrough for something that has puzzled everyone for a while.

It just needs some work, as he mentioned I also believe the GPU emulation needs a redesign, Skid is already going in the right direction regarding this. Perhaps this can be tweaked, optimized, and fixed to the point where we might possibly get full speed on Hyrule Field without any of the graphical issues that are present with the current patch.

I only have one or two questions to ask, how did you come to this conclusion and what is your experience with emulation or coding?