Dolphin, the GameCube and Wii emulator - Forums

Full Version: [PATCH] DSP LLE faster masked math
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
yeah, I know whatcha mean...chef ^^
(11-08-2010, 07:07 AM)Mylek Wrote: [ -> ]I think all the complexities of the originals are due to the need to support uneven mask cases. It seems that the working versions of the masked add/sub can be improved without breaking comparability but the gains wouldn't be as big as this patch. If I get some time this week I will try to work on it.

As you can see, some games (notably ZTP) use/need it. I'm not exactly sure if it would make a lot of difference if you built the check in the code (you can however decide at compile time and do the ToMask part when required).
The current ToMask implementation however is probably the fastest you can get; at least i remember its pattern from some other site related to optimization and stuff...
Yeah, it's not specific to this DSP LLE plugin, but there is a terrible crackling in the output of the plugin, even when it's running full speed.
Here's a raw clip of the audio output with Super Mario Sunshine running at 100%: http://www.brawlcustommusic.com/temporarycrap/LLEPop.mp3

I was able to null all of the non BGM samples in Super Mario Sunshine's sound banks so that only the music plays, and was hoping to be able to do a rip of the soundtrack using the DSP LLE Plugin, but the crackling makes that impossible. You can use an audio editor to remove the silent audio samples where the DSP isn't emulated at full speed, but that crackling just messes it up.
Yeah the crackling is quite annoying, it seems to be more noticeable in some games than others even when the game is running full speed. Since revision 6356 audio output seems to be better with New Super Mario Bros. although some sound effects are wrong. There is also some big slowdown with NSMB, even with LLE JIT after I press A + B on the title screen, however these are unrelated to this patch.

The patch does speed things up but it produces garbage noise, especially with Zelda/Mario games. Would be nice to see LLE brought up to speed with the HLE plugin so I am a bit anxious to see what is in store down the road for the LLE plugin and Dolphin.
Oh, I guess I forgot to mention that this recording was done using the normal LLE plugin from r6359. The crackling is independent of using the patch or not. But do you have any idea of what is causing this?

tylertyler06

The patch didn't help me, maybe i placed it wrong.
i just replace the old DSP LLE with this one correct?
(11-10-2010, 09:19 AM)moosehunter Wrote: [ -> ]Oh, I guess I forgot to mention that this recording was done using the normal LLE plugin from r6359. The crackling is independent of using the patch or not. But do you have any idea of what is causing this?

Yeah, I know the crackling is unrelated. The HLE plugin also exhibits crackling, although not as bad as LLE. I think it may have something to do with the audio backend or mixer but I'm not sure.

Someone opened an issue a while back about safe quantizers causing crackling in some games with the HLE plugin so that may be something to look into since I now think there may be an actual issue.

:Edit: By the way, I'm not so sure it is crackling than it is garbage noise. Seems to just be garbage noise, crackling would be like on the HLE plugin with some games such as Tales of Symphonia, Resident Evil 0 etc..

:Edit 2: Some sound effects seem to produce garbage noise/crackling with LLE, some sound effects aren't correct such as stomping on enemies/goomba's in NSMB, hitting blocks, and power up effects.

Here is a hack for DspIntMultiplier.cpp that eliminates loud noises from DSPLLE in some games. (Muramasa Title screen is a good example) The side effect seems to be that some sounds end up quieter than they should be.

What it does is makes multiplication skip the *2 in the case of two signed numbers. This is probably wrong, but maybe it provides a hint at the underlying problem.
(11-10-2010, 09:28 AM)tylertyler06 Wrote: [ -> ]The patch didn't help me, maybe i placed it wrong.
i just replace the old DSP LLE with this one correct?

Now that I think about it you probably need dolphin.exe too. Here is the compliled dll/exe with both of the patches posted so far. To use them you need to uncompress the 7z files and overwrite the existing dll/exe.
Do you know any other game that sounds better after this change?
wow...I haven't tested LLE plugin in a while (but I think there wasn't much work on it, right?), but this seems to give it a nice jump in the right direction. Just played Kirby with it and it sounds perfectly - only when the screen in scrolling, the speed goes down a bit and of course that also affects the sound...the strange thing is that with HLE plugin I don't have those slowdowns...thoooough I'll have to test later again, cuz right now I'm having a program running in the background - maybe that's just the problem.
It's nice to have no instruments missing in Mario Party 4 Big Grin but the music sounds a bit...hm...hard to describe - not totally right. a bit like out of a tin can or somethin ^^
Also no more annoying sound loop in Chibi Robo... (well, I guess all those kinds of issues are no issues in the LLE plugin)

One strange thing though: SMG2 freezes on startup for me with this LLE plugin. It doesn't with HLE...is that a known issue?

Ah, and it'll be interesting to see how this one gets along with this: http://code.google.com/p/dolphin-emu/source/detail?r=6371
Anyone care to compile again? ^^
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20