Dolphin, the GameCube and Wii emulator - Forums

Full Version: Twilight Princess slow Hyrule
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
(07-17-2013, 11:10 PM)haddockd Wrote: [ -> ]The speed is the same with or without the ZTP speedhack so I am unsure if maybe it was broken at some point.
These ideas sound crazy until they turn out not to be, so I checked.

Code is still there. If you enable logging, do you see such a message logged (ZTP map texture found at address)?


Code:
if (g_ActiveConfig.bZTPSpeedHack)
    {
        if (!mapTexFound)
        {
            if (bp.address != BPMEM_TEV_COLOR_ENV && bp.address != BPMEM_TEV_ALPHA_ENV)
            {
                numWrites = 0;
            }
            else if (++numWrites >= 100)    // seem that if 100 consecutive BP writes are called to either of these addresses in ZTP,
            {                                // then it is safe to assume the map texture address is currently loaded into the BP memory
                mapTexAddress = bpmem.tex[0].texImage3[0].hex << 5;
                mapTexFound = true;
                WARN_LOG(VIDEO, "\nZTP map texture found at address %08x\n", mapTexAddress);
            }
            FlushPipeline();
        }
        else if ( (bpmem.tex[0].texImage3[0].hex << 5) != mapTexAddress ||
                    bpmem.tevorders[0].getEnable(0) == 0 ||
                    bp.address == BPMEM_TREF)
        {
            FlushPipeline();
        }
    }  // END ZTP SPEEDUP HACK
(07-18-2013, 10:47 AM)rokclimb15 Wrote: [ -> ]
(07-17-2013, 11:10 PM)haddockd Wrote: [ -> ]The speed is the same with or without the ZTP speedhack so I am unsure if maybe it was broken at some point.
These ideas sound crazy until they turn out not to be, so I checked.

Code is still there. If you enable logging, do you see such a message logged (ZTP map texture found at address)?


Code:
if (g_ActiveConfig.bZTPSpeedHack)
    {
        if (!mapTexFound)
        {
            if (bp.address != BPMEM_TEV_COLOR_ENV && bp.address != BPMEM_TEV_ALPHA_ENV)
            {
                numWrites = 0;
            }
            else if (++numWrites >= 100)    // seem that if 100 consecutive BP writes are called to either of these addresses in ZTP,
            {                                // then it is safe to assume the map texture address is currently loaded into the BP memory
                mapTexAddress = bpmem.tex[0].texImage3[0].hex << 5;
                mapTexFound = true;
                WARN_LOG(VIDEO, "\nZTP map texture found at address %08x\n", mapTexAddress);
            }
            FlushPipeline();
        }
        else if ( (bpmem.tex[0].texImage3[0].hex << 5) != mapTexAddress ||
                    bpmem.tevorders[0].getEnable(0) == 0 ||
                    bp.address == BPMEM_TREF)
        {
            FlushPipeline();
        }
    }  // END ZTP SPEEDUP HACK


yes i achieve fullspeed without ztp hack and LLE on thread as long as im not pushing SSAA (which.. would techincally be a gpu bottleneck lol.)

i only use 64bit dolphin 3.5 latest stable.
(07-18-2013, 03:19 AM)ThorhiantheUltimate Wrote: [ -> ]LLE is an extremely intense sound emulation option, don't use it with your CPU. In all honesty, it doesn't affect TP in my experience. However, You can overclock that CPU some more, there's some headroom there (if you can cool it, and give it the amount of watts required for glutton). Shoulda waited for at least Piledriver...
Yea i have this: http://www.newegg.com/Product/Product.as...6835608024 or something similar to it (got it second hand) as you can my cpu is pretty cold
Hmmm. I wonder what the deal is with my system then. Ah well. I will just sit and wait for the Zelda HLE rewrite

*waits patiently*...lol
(07-18-2013, 11:14 PM)haddockd Wrote: [ -> ]Hmmm. I wonder what the deal is with my system then. Ah well. I will just sit and wait for the Zelda HLE rewrite

*waits patiently*...lol
Do you see that message in your log? It's possible that there's a bug and the hack isn't applying for you, causing your slowdown.
I will need to take a look next time I have a sec. Is there any particular point I need to play to before that shows up in the log?
(07-19-2013, 01:20 AM)haddockd Wrote: [ -> ]I will need to take a look next time I have a sec. Is there any particular point I need to play to before that shows up in the log?
Should just involve entering Hyrule Field with the mini-map enabled I think. I'm assuming that the "map texture" referred to in the comments is the mini-map, and I'm guessing it redraws frequently in Hyrule Field due to the size of the area causing a performance slowdown. I haven't tried it yet myself. If you hit a slowdown in that area and don't see the message in your logs, it might warrant some further examination for a possible bug report. Maybe the ZTP hack doesn't always work?
Interesting. I have an end game save for TP (U) in Hyrule field. I will give it a test soon and report back here Smile
OK, I have 2 things to report:
1) I cant get any window that shows me code like you had above. The Log and Console Windows display information but no C++ code. What window do you have open to view that code?

2) It appears I was wrong and the hack does increase my frame rate from 60% to 80% (ish) so it DOES look like it helps, but why on earth cant I get full speed? Here are a few screenies if it helps:

No ZTP Hack


[Image: No_ZTP_Hack.png]


With ZTP Hack
[Image: With_ZTP_Hack.png]

Just as a note: I also tried 3.5 and got the same results for those wondering Smile

Dolphin settings:

[Image: dolphin.png]
You're just looking for a message that says "ZTP map texture found at address 0x00000000" (that should be a real number though). The c++ code is from the Dolphin source checkout.


It seems like it is working for you, but why you're not hitting 100% is a mystery. Can you post your emulator settings as well? Have you tried LLE on a dedicated thread? I seem to recall that it caused glitching in ZTP.
Pages: 1 2 3 4 5