Dolphin, the GameCube and Wii emulator - Forums

Full Version: Faster LLE JIT Emulation No Wai!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Consider this a nooby tryout, a hacky nooby tryout. This will somewhat break audio with the LLE plugin and LLE JIT enable, some effects will be missing as well as music notes due to the idle_cycles. This is really only useful for testing and may be useful to developers to fix the slowdowns with LLE JIT.

You can experiment by altering the number of idle_cycles and recompiling, a higher number will give a larger speedup but will also further break sound. I have idle_cycles set at 10, which gives a moderate speedup without breaking sound too much.

For now I've included the X64 LLE plugin and the patch. Also used #ifndefine _M_X64 instead of #ifdefine _M_IX86 as "pie" suggested which alleviates the lockups with LLE JIT and LLE on Thread enabled.

Cheers. Smile

I've got no idea about the code 'n all, but just wanted to say your dedication (not even being a natural born dev) for this project is appreciated Smile
That for sure. Are you following the mailing-list btw, Xtreme? dok.slade posted a patch for FIFO the other day, looks quite good to me (and, especially, works fine).

Anyways, that look-ahead for LOOP_END/IDLE_SKIP probably broke most of it for you. Don't do that.
Other than that, the RunForCycles change looks a bit random. Checking for idle_cycles but subtracting c isnt gonna work - you'll get slower skips for this part, and a huge jump to 0 when you're below idle_cycles. The else-part of that if should subtract c instead (as the old code did) - since thats the amount of cycles the current block should cost; and not how many we could skip by idling.
However, the speedup could be likely due to the fact that RunForCycles (infact, the thing that does all the DSP work) returns earlier and lets the other stuff run instead.
how much speed up we are talking about here.
and how does it work for mario galaxy? enough to make it playable?

thanks
Well without breaking sound completely, about a 10 FPS - 15 FPS speedup although that might depend on hardware, there will be some sound issues so don't say I didn't warn you. Yeah it's random and not correct, I already knew that, can't expect a lot from someone that can't code. Tongue

idle_cycles works better at 8 - 10, any higher and sound in games is going to start breaking more, until completely broken.

I was just fooling with the code and noticed that it sped LLE up big time and thought I would share. Maybe in hopes that overcoming the speed issue with LLE JIT might be rather simple than fixing the looping issue in the HLE plugin. Don't ask me why I did this, guess I was feeling froggy enough to dig into the code and try some things. SMG1, SMG2, ZTP just isn't the same without the proper music that lends to the experience. In fact most of the experience in these games is due to the great soundtracks so it would be kind of nice to see it fixed soon'ish rather than later.

We have a Wii in our house, but it's in the living room and I bricked my Wii and sold it a while back. I basically use my computer as my gaming and media station, playing all my games on an emulator especially since I can't afford to purchase another Wii right now. My current beefy system was entirely purchased on credit and I don't even know how I am going to pay that.
I didn't know there was a mailing list and I can't find where the patch was posted. Can you link me to the patch you are referring to?

Is it a fifo patch or an audio fifo patch? What does it fix, the main thing I've been beating myself over is fixing the music looping problem with SMG1, SMG2, and ZTP.
Xtreme2damax, I have posted the patch here. Would you please compile a 32bit and 64bit version of Dolphin using the patch for us?

Also, I saw that you had wondered if the emulate disc transfer speed would fix some Wii games. I've done some investigation and found out that the DVD speed in the Wii is different to the one in the GC. Would you please try changing the DVD speed in this line (at the top of the page):

http://code.google.com/p/dolphin-emu/sou...&r=6268#33

Change the constant from 3125 to 7926 and see if that fixes the sound.
Wow that's a lot of files.

Quote:Also, I saw that you had wondered if the emulate disc transfer speed would fix some Wii games. I've done some investigation and found out that the DVD speed in the Wii is different to the one in the GC. Would you please try changing the DVD speed in this line (at the top of the page)

I don't remember inquiring about that. :/

Anyways I don't think this will fix the looping issues with the HLE plugin, that's the main reason I was messing with the LLE plugin is because looping works fine, the only issue(s) are audio output and speed.
(10-12-2010, 10:18 AM)Xtreme2damax Wrote: [ -> ]For now I've included the X64 LLE plugin and the patch. Also used #ifndefine _M_X64 instead of #ifdefine _M_IX86 as "pie" suggested which alleviates the lockups with LLE JIT and LLE on Thread enabled.

Cheers. Smile

I could not when I put the plugin lle.Confused
My dolphin exe stopped working.Huh
I'm using Dolphin-x64-r6272.
[attachment=4457]

I wanted to see if Mario Kart Double Dash would run a reasonable FPS with LLE.
Maybe you are missing something, have you dumped the dsp_rom.bin and dsp_coef.bin from your Wii? What about the VC++ Redistributable, you have that installed?

It's probably because I compiled for SSE4.2 and your processor is only capable of SSE4.1, I'll upload a freshly compiled plugin without the optimizations in a bit here.
Pages: 1 2