06-08-2012, 06:17 AM
06-08-2012, 10:14 AM
(06-08-2012, 06:17 AM)SnakeBoss Wrote: [ -> ]I tried this trick with MGS TTS and it doesnt work on my specs. Maybe u can give it a try and see if PCs make a difference
I would,but I dont have that game. You sure you set up everything right ? LLE and LLE on thread,disabled idle skipping and clicked on game properties to enable vbeam ?
Also,if game is having sound problems other then lle skipping because of the gamespeed,then this wont fix it.
This won't fix sound bugs or problems in games-only specific lle issue of skipping sound.
For example,sound is skipping in movies in Tales of Symphonia in both HLE and LLE and even when game is running fullspeed-it's dolphin bug and of course wont be fixed with this.
06-08-2012, 11:21 AM
Here's the story of Accurate VBeam emulation:
I noticed that some games were behaving erratically with screen updates and the number of frames per second.
I started to search for documentation on how the VideoInterface worked and in particular, the details of the VBeam/Interlacing/Progressive modes.
The code was changed to match what I could find from the documentation and released. It was made into an option as it was still new code and labelled "Accurate" because the code is based on documentation. Some issues were found and fixed but the surprise benefit was the increase in performance of the emulator.
There were issues found with audio sync under DSP HLE and Wiimotes also stopped working in some games. These were hackfixed around by slightly changing the timing so that they would work again. However, the real issue is probably that DSP HLE and Wiimotes are not accurately timed in the emulator. I could not quickly fix the timing and left the hackfix in.
DSP LLE is accurately timed in the emulator and I am wondering if there are ever issues experienced with DSP LLE + Accurate VBeam. It might be safe to permanently enable Accurate VBeam when DSP LLE is used.
marcosvitale did review the VBeam code recently and commented that it is more accurate, but not perfect.
I noticed that some games were behaving erratically with screen updates and the number of frames per second.
I started to search for documentation on how the VideoInterface worked and in particular, the details of the VBeam/Interlacing/Progressive modes.
The code was changed to match what I could find from the documentation and released. It was made into an option as it was still new code and labelled "Accurate" because the code is based on documentation. Some issues were found and fixed but the surprise benefit was the increase in performance of the emulator.
There were issues found with audio sync under DSP HLE and Wiimotes also stopped working in some games. These were hackfixed around by slightly changing the timing so that they would work again. However, the real issue is probably that DSP HLE and Wiimotes are not accurately timed in the emulator. I could not quickly fix the timing and left the hackfix in.
DSP LLE is accurately timed in the emulator and I am wondering if there are ever issues experienced with DSP LLE + Accurate VBeam. It might be safe to permanently enable Accurate VBeam when DSP LLE is used.
marcosvitale did review the VBeam code recently and commented that it is more accurate, but not perfect.
06-08-2012, 11:26 AM
Quote:Did some more testing.
Raised graphic settings to ridicolous levels-4x resolution and 4x SSAA.
These are the results :
Tales of Symphonia standard settings,with LLE and LLE on thread on:
20-40 fps ,sound stuttering
Tales of Symphonia vbeam on and idle skipping off,with LLE and LLE on thread on:
20-40 fps ,perfect sound
Last story standard settings,with LLE and LLE on thread on:
8 fps ( yes you read that right this is most demanding game currently,not SMG2 ) sound stuttering
Last story vbeam on and idle skipping off,with LLE and LLE on thread on:
10 fps,perfect sound
SMG2 standard settings,with LLE and LLE on thread on:
20-25 fps,sound stuttering
SMG2 vbeam on and idle skipping off,with LLE and LLE on thread on:
20-25 fps,perfect sound,but did stutter just a little bit when game started-no stuttering during actual gameplay
Zelda twilight princess..well same thing as above you get the idea Smile
Perfect sound in Hyrule field with 20 fps
But then
Skies of Arcadia standard settings,with LLE and LLE on thread on:
12 fps,sound stuttering
Skies of Arcadia , vbeam on and idle skipping off,with LLE and LLE on thread on:
12 fps,sound still stuttering.
This seems only game I found so far where this LLE trick doesnt work.
Also,LLE on thread do play some role,since ToS did stutter without it,even with vbeam on + idle off
You tested vbeam off and idle skipping on (default)
and
vbeam on and idle slipping off
But what about vbeam on idle skipping on
and
vbeam off and idle skipping off
And then what happens when you try each of those with LLE on thread off?
It makes sense that turning off idle skipping would and turning on accurate vbeam emulation would help since both of those increase the accuracy of the system timings in general. Devs should be able to offer a more precise explanation. *Stares directly at skid for an explanation of what's going on*
06-08-2012, 11:32 AM
(06-08-2012, 03:10 AM)Shonumi Wrote: [ -> ]Tested ToS more, audio is perfect, even though it can drop to 30 FPS at times. Tried it with EFB Copies->Texture, Accurate VBeam and disabling Idle Skipping. Seems like it the FPS are very prone to dropping in this case, as I've played it before with LLE, no Accurate VBeam, and Idle Skipping enabled while maintaining 55~60 FPS with no noticeable audio skipping.
VBEAM is the culprit in this case.
leave it off for better performance.
06-08-2012, 11:52 AM
(06-08-2012, 11:21 AM)skid Wrote: [ -> ]Here's the story of Accurate VBeam emulation:
I noticed that some games were behaving erratically with screen updates and the number of frames per second.
I started to search for documentation on how the VideoInterface worked and in particular, the details of the VBeam/Interlacing/Progressive modes.
The code was changed to match what I could find from the documentation and released. It was made into an option as it was still new code and labelled "Accurate" because the code is based on documentation. Some issues were found and fixed but the surprise benefit was the increase in performance of the emulator.
There were issues found with audio sync under DSP HLE and Wiimotes also stopped working in some games. These were hackfixed around by slightly changing the timing so that they would work again. However, the real issue is probably that DSP HLE and Wiimotes are not accurately timed in the emulator. I could not quickly fix the timing and left the hackfix in.
DSP LLE is accurately timed in the emulator and I am wondering if there are ever issues experienced with DSP LLE + Accurate VBeam. It might be safe to permanently enable Accurate VBeam when DSP LLE is used.
Thanks for explanation about vbeam. Like NaturalViolence I am also wondering if you can provide any explanations as to why combining vbeam and idle skipping off stops LLE sound from stuttering.
This is important issue,since a lot of people who dont have high end rigs and want to play games which require LLE are bothered more from sound stuttering then game beeing slow ( atleast I think )
(06-08-2012, 11:26 AM)NaturalViolence Wrote: [ -> ]You tested vbeam off and idle skipping on (default)
and
vbeam on and idle slipping off
But what about vbeam on idle skipping on
and
vbeam off and idle skipping off
And then what happens when you try each of those with LLE on thread off?
It makes sense that turning off idle skipping would and turning on accurate vbeam emulation would help since both of those increase the accuracy of the system timings in general. Devs should be able to offer a more precise explanation. *Stares directly at skid for an explanation of what's going on*
Based on my testing,sound only stops stuttering when options are combined like I described. Having vbeam on and not changing idle from defaults will usually provide slight speed boost in lot of games,but LLE will still stutter.
Having only idle off will cause slight slowdown,sound still stutter.
So,having them basically switched reversed from defaults provide same speed as you would get with default settings ( since one settings provides speedup other slowdown ) but with added benefit of sound not stuttering

As for lle on thread,it seems to play some role. In tales of symphonia sound will stutter as usual with it off ( what you would expect if lle is on and game not running fullspeed )
In some other games,sound still will not stutter even if its off.
I got strangest results with SMG2 and lle on thread off.
First,sound do stutter a little bit,but less then with defaults settings.
But this is not strange part-fact that lle on thread doesn't have any impact on this game,atleast fps wise,and still causes sound problems when disabled.
And also the fact when game was running with it on,but half the speed because of 4xAA and 4x Ir sound didnt stutter !
So I guess,bottom line,lle on thread+vbeam on+idle off for best sound

06-08-2012, 01:14 PM
Does audio throttling affect this at all for you?
06-08-2012, 02:54 PM
(06-08-2012, 10:14 AM)rpglord Wrote: [ -> ]I did all those things and when the VPS falls below 64, the sound starts stuttering. When it is at exactly 64 the stuttering is barely noticeable. The sounds on LLE is way better than HLE for MGS too.(06-08-2012, 06:17 AM)SnakeBoss Wrote: [ -> ]I tried this trick with MGS TTS and it doesnt work on my specs. Maybe u can give it a try and see if PCs make a difference
I would,but I dont have that game. You sure you set up everything right ? LLE and LLE on thread,disabled idle skipping and clicked on game properties to enable vbeam ?
Also,if game is having sound problems other then lle skipping because of the gamespeed,then this wont fix it.
This won't fix sound bugs or problems in games-only specific lle issue of skipping sound.
For example,sound is skipping in movies in Tales of Symphonia in both HLE and LLE and even when game is running fullspeed-it's dolphin bug and of course wont be fixed with this.
06-08-2012, 04:05 PM
Like neobrain said to Shonumi, this is all to do with timing. There is nothing that links Accurate VBeam with DSP LLE or idle skipping. DSP LLE also does not rely on the PPC's idle skipper. DSP LLE does have it's own idle skipping which is disabled when LLE on thread is enabled and enabled if LLE on thread is disabled. I don't think the DSP LLE idle skipper will affect the results you're seeing.
DSP LLE - accurately timed
DSP HLE - not timed, not accurate
Accurate VBeam on - accurately timed.
Accurate VBeam off - approximately timed.
Idle skipping off - accurately timed
Idle skipping on - should be accurately timed, but might be an approximation. Lessens CPU load on the PC.
DSP LLE on thread - does not affect timing. Lessens CPU load on the PC.
There is one other factor not mentioned in this thread. I remember mylek wrote some code to smartly join audio sections together so that it would be seamless (no stuttering). That may be playing a part in this. An early version of this is in mylek's Xenoblade HLE fix. The more correct version is in master. The audio back-end used might play a part in this also.
DSound back-end runs audio on it's own thread, while XAudio2 does not create an audio thread.
DSP LLE - accurately timed
DSP HLE - not timed, not accurate
Accurate VBeam on - accurately timed.
Accurate VBeam off - approximately timed.
Idle skipping off - accurately timed
Idle skipping on - should be accurately timed, but might be an approximation. Lessens CPU load on the PC.
DSP LLE on thread - does not affect timing. Lessens CPU load on the PC.
There is one other factor not mentioned in this thread. I remember mylek wrote some code to smartly join audio sections together so that it would be seamless (no stuttering). That may be playing a part in this. An early version of this is in mylek's Xenoblade HLE fix. The more correct version is in master. The audio back-end used might play a part in this also.
DSound back-end runs audio on it's own thread, while XAudio2 does not create an audio thread.
06-08-2012, 04:36 PM
(06-08-2012, 11:32 AM)Squall Leonhart Wrote: [ -> ](06-08-2012, 03:10 AM)Shonumi Wrote: [ -> ]Tested ToS more, audio is perfect, even though it can drop to 30 FPS at times. Tried it with EFB Copies->Texture, Accurate VBeam and disabling Idle Skipping. Seems like it the FPS are very prone to dropping in this case, as I've played it before with LLE, no Accurate VBeam, and Idle Skipping enabled while maintaining 55~60 FPS with no noticeable audio skipping.
VBEAM is the culprit in this case.
leave it off for better performance.
Yeah, I already figured that out (should have mentioned it in my post), since I did some other testing in the same manner as my video on Metroid Prime. Thankfully, my old settings (no VBeam) offer better results. I did the same settings for each game and only changed VBeam. This behavior in ToS is quite unlike other LLE games with Accurate VBeam, in that it tanks the FPS.
@SnakeBoss: Remember, this method's not a panacea. If your computer is too weak, not even this will work to make LLE audio seamless.
@skid: Thanks for the explanations, been waiting to hear from a dev about how this stuff all works out.