This hopefully avoids the issues appearing after long periods of continuous playing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4871 96395faa-99c1-11dd-bbfe-3dabce05a288
On 4840 I added dynamic tuning (which may have slight negative effect on stability) to adapt to different iterations/sec of different systems, but I didn't like this system too much. On 4840 I also made a small change which, I now understand, factors out the differences between systems in this regard, essentially making dynamic tuning not required anymore. So now dynamic tuning is disabled.
If you enable the SPU2X messages (and the overrun messages), you would see log messages similar to this:
buffers: 44 ms ( 89%), tempo: 1.000000, comp: 1.000, iters: 764, (N-IPS:750 -> avg:50, minokc:50, div:100)
If the iters value (764 at this example) on your system when running at 100% speed (50/60fps) is higher than 1000 or lower than 500, then please comment here and post few of the log lines.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4843 96395faa-99c1-11dd-bbfe-3dabce05a288
I'm not fully happy with it, as it's a bit complicated for my taste, so feedback about how it performs will be appreciated.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4840 96395faa-99c1-11dd-bbfe-3dabce05a288
1. Much better behavior at extreme low/high FPS (less skips/lower latency).
2. As a result, I was able to reduce internal latency by 50% (50ms config now equals 100ms before).
Recommended latency config for stretcher: 100ms.
For rhythm games, if your FPS is very stable, I recommend 50ms.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4834 96395faa-99c1-11dd-bbfe-3dabce05a288
Should prevent erratic tempo variations near 100% speeds (compared to the previous implementation), and generally allow much lower latencies while keeping the audio stable (on all audio systems).
E.g. my tests show that at 70ms latency it can properly handle sharp speed variance of 50%-100%. If your game generally doesn't get slower than 70% speed, 50ms latency would probably be fine.
Note that on extreme scenarios (e.g. extreme sharp drops in speed) it doesn't try to keep the audio continues at all costs. If your game exhibits such behavior (audible clicks, etc), increasing the latency a bit at the config would help.
Comments on actual performance/quality on different systems would be greatly appreciated.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4820 96395faa-99c1-11dd-bbfe-3dabce05a288
Tweaks to async mixing, making the buffer stay closer to 50% filled and also making it more effective on sharp FPS drops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4500 96395faa-99c1-11dd-bbfe-3dabce05a288
* EEA / ESA writes are ignored when Effects are enabled.
* When effects are disabled, reverb does not process IRQs or produce sound.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3326 96395faa-99c1-11dd-bbfe-3dabce05a288
[cmake]:
* Update to use the above patch.
* Remove a52. Need to use system version.
* Remove stub file. Append pcsx2 to 3rparty library to ease futur support.
Important Note: codeblock will probably need some update. (add 3rdparty/soundtouch_linux_include in include path)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3200 96395faa-99c1-11dd-bbfe-3dabce05a288
New "Peops SPU2-like" async mixing mode.
Can only be toggled in source for now, as it will lower compatibility.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2835 96395faa-99c1-11dd-bbfe-3dabce05a288
- Various small changes and a fix by gigaherz for dsp plugins when timestretching is disabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2788 96395faa-99c1-11dd-bbfe-3dabce05a288
Work on support for Wasapi's exclusive mode. Not enabled yet.
Also lower (/8) sound out packet size. Helps the timestretcher
responsiveness and quality.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2755 96395faa-99c1-11dd-bbfe-3dabce05a288
It works fine and without further modifications in Windows, for SPU2-X and ZeroSPU2.
Linux is untested, but hopefully also fine :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2734 96395faa-99c1-11dd-bbfe-3dabce05a288
- Slight adjustment on the timestretcher, stops it from going to "emergency" mode too often (even on bigger buffers).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2385 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed: More savestate slowness, and less savestate memory hogging.
SPU2-X: Fixed crash bug on using savestates while suspended.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1994 96395faa-99c1-11dd-bbfe-3dabce05a288
* Potential Bugfix: Core1's DMA IRQ trigger was being ignored in some instances; might fix some hangs.
* Major code cleanups, using C++ structure member methods and functions.
* Improved gui / plugin api / core emulation code separation -- hoping to switch to wxWidgets eventually.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1930 96395faa-99c1-11dd-bbfe-3dabce05a288
Worked on savestate support a bit. It now remembers an update timing variable more (could fix a few crashes).
This increases the savestate version though, so make sure you have a memory card save ready before upgrading!
Also implemented a way of delaying audio output after loading states. This masks the ugly noise that some games produce directly after loading, keeping your valuable speakers intact :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@963 96395faa-99c1-11dd-bbfe-3dabce05a288