Latency problems, stuttering & skipping

Started by Polaris911, April 16, 2021, 13:43:15

Previous topic - Next topic

Polaris911

I've been using MPT for 20 years but I'm about at my wits end with this. I've had recurring problems with stuttering and skipping the last 3 songs I've worked on, so much so that it was difficult to even finish them and I ended up giving up.

I have tried minimizing the number of bridged 32-bit plugins. I've tried increasing the latency to 200 ms and it still stutters with WASAPI Port Audio. WaveRT PortAudio works somewhat better, but still stutters and crackles. Increasing the Period does nothing to help. My current song has 61 VSTs, of which 10 are 32-bit. Many of the plugins are chained. My sound driver is up-to-date (Realtek version 10.0.19041.1 12/6/2019). I have LatencyMon installed but running it says everything is normal. 

How can I narrow this problem down apart from clicking "Bypass" on each plugin? I've tried this, but it doesn't seem to be any 1 specific plugin. How can I see how much CPU time each plugin is adding and where the latency is occurring? I don't want to have to abandon OpenMPT and learn a DAW, but it seems like I have no choice.

Speed

If checking every single VST plugin does not make much difference, then maybe few plugins combo makes too much overload on CPU and memory, since 60+ is nice number and I am not sure if changing DAW would help much when few of them might require about 10-20% resources each.
Some commercial or badly coded VSTi or multiple reverb effects with high feedback, can be very heavy, sometimes depending on settings.
Personally, I would open task manager (CTRL+SHIFT+ESC), look at CPU and memory usage, choose most problematic pattern, press F7 to loop it, go to general tab and switch off vst effects first, one by one per 1 pattern cycle, keep an eye on monitor usage, and then vst instruments as last, to find out most heavy sources.
It would take few minutes and give knowledge for future projects, what not to use next time.


jmkz

Be aware that OpenMPT is not full multithreading support yet, you can notice by only using one logical processor. Something I do, is rename VST DLL's to a trimmed name, f.e. 'vstname_x86.dll' and 'vstname_x64.dll' to only 'vstname.dll' and in its subfolder  like 'vstname\x86\vstname.dll' and 'vstname\x64\vstname.dll' respectively. This way I can either run x86 or x64 OpenMPT and it will choose native VST over bridged architecture, this way I test wich combination works best. Indeed, some popular VST has issues with being resource hungry. An alternative, is depending on your specific case, if simultaneus multithreading is enabled, try to disable and reach for higher CPU frequency.

Saga Musix

The truth is, the plugin bridge inevitably adds more processing time than any plugin would normally on its own. In the end, it's almost never a single plugin causing the issues but just the number of plugins in general, but I would still recommend to try and get rid of all bridged plugins first.
As you mentioned before that stream export runs faster than realtime for your songs, I'm also inclined to say that something odd is going on here and this might be a sound driver issue, as Realtek is sadly not known for making great drivers. It's also very well possible that there is not a single culprit here, it could just be the combination of the driver, how PortAudio talks with the driver and the number of plugins that all cause the issues.
I doubt it would help but in OpenMPT you can check "Show deprecated devices" and see if MME devices work any better for you than WASAPI or WaveRT.

For the record, I have tracks with 50-something plugins and they run fine with a latency of 10ms and period of 5ms (using my sound card's native ASIO driver), even if all those plugins are bridged - though obviously with bridged plugins it's more likely that the signal starts to stutter if the PC is busy.
I remember that at least in the past you were using OpenMPT on a laptop. I could imagine that the CPU scheduling used by Windows on laptops might be less beneficial to this sort of situation and if I was to play my track on a laptop, it might start to stutter as well. In general, if you have the possibilty I would strongly recommend to run OpenMPT on a desktop PC with a CPU that has a good per-core performance. Many laptops fail in that regard because a higher base clock also means higher power consumption and more heat.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

LPChip

Most important things have been said already, it is going to be a matter of plugins causing the cpu of one logical processor to max out, which causes the problem, and there isn't much you can change that will make all your plugins run well as it is.

I once had the same problem. I use Chainer and put all my plugins inside it so I can mix/master easier, but this gave me a lot of problems. Exlcuding chainer from the mix was not that much better, but it did help a little bit. Basically the same as Saga mentioned, the bridge adds a little overhead. The same way, chainer did for me.

I upgraded my computer to a better processor. And rather than looking for as many cores, I looked for single core performance. It has definitely helped me run my songs better, but even the song that struggled a lot in the past still struggles a little bit.

Recently I found a new plugin that normally is used for a completely different usecase, to work extremely well here. The plugin is called Satellite Sessions, by Mixed In Keys. It is free (at least for now.. they wanted this to be free during Corona to help musicians coming together because they otherwise cannot).

This plugin allows you to basically record something to an online session in a sequence kind of view. Once its there, you can mute/bypass your instruments in your song, and at every play, the music is streamed back to you through this plugin. The quality is a bit lower, but that is not the point here.

What this allows you to do is very quickly get your track with lots of vst's bounced in place so you can then turn it off and not have it consume much CPU power anymore. Then you can focus on other parts of the song. Once it is all done, you can remove Satellite Sessions again, render the full finished song to wave/mp3 and enjoy it in its full glory.

Of course, you can actually render a channel to a sample slot directly from OpenMPT but I found doing that to be a lot of hastle, so I never did that. In a sequencer such as EnergyXT or BitWig Studio, you can just freeze it in place quickly, and that is what you really want to do. OpenMPT cannot do that natively, but with Satellite Sessions it is not that cumbersome anymore to achieve the same result. You can now get to that point in the same duration it takes to play your song + 15 seconds for the few clicks to disable your plugins, and then you can work on your song without all the CPU overhead problems.

Now I have to say, it would be really cool if there was multithread support even if it means that you have to set up what thread to use at the start, and that once you specify what thread you want to use, plugins from other threads can no longer output to this plugin (I believe Saga said that was the reason why everything still is in a single thead).

Like you create multiple fx chains, and each chain is in its own thread, regardless of if the plugins are actually outputting to one and another.
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

6xes

#5
im going to state the obvious here....
have you tried unistalling the audio drivers and re-installing them??

the reason i suggest this... is given the amount of updates windows is currently going through, and no doubt the registry changes that take place during the updates.. is there a high likelihood that registry changes might affect the audio drivers?? *shrugs

can only but test out the most obvious... in order to eliminate and isolate the problems with stuttering etc...
hope you sort it!!

btw 61 vsts is alot.. and perhaps you are simply hitting a brickwall in terms of system resources.. *shrugs

Polaris911

Most of my plugins are simple GGain plugins, since volume commands don't work on VSTs. I did try reinstalling the audio driver. I (sort of?) narrowed down my issue. I only have latency when I use OpenMPT after waking up my PC from sleep. If I use it from a fresh boot of Windows, there's no latency. I'm guessing it's an audio driver problem but the mobo manufacturer is no help.