Started by j7n, May 31, 2016, 00:17:11
Quote from: j7n on May 31, 2016, 00:17:11I have recently updated from classic ModPlug Tracker to OpenMPT, and cannot configure the program to deliver uninterrupted playback unless it is pretty much the only software running. Still, there occasionally are clicks when I switch tabs on the main interface. The main reason here is that I have an older computer running Windows XP. However, on my machine Reaper and Renoise are rock solid even at low latencies of 10-35 ms, out of the box.
Start -> Settings -> Control Panel -> Display -> Settings -> Troubleshoot -> Hardware acceleration
Quote from: j7n on May 31, 2016, 00:17:11I can use either DirectSound or E-MU ASIO driver, without much difference.
Quote from: j7n on May 31, 2016, 00:17:11Further investigation of the other two applications reveals that they have threads that do heavy work running at priority 15 (max), and old ModPlug was by default at High process priority, threads at 14. (Reaper also effectively locks up the system while rendering, which I can deal with.) OpenMPT's priority by default is 8 or 9 (with 'Boost thread priority').Setting the process priority of OpenMPT to high resolves the problem. But it is inconvenient to do.
Quote from: j7n on May 31, 2016, 00:17:11It would be great if it dropped priority during rendering, but it's okay if it does not. Mods with this program use very little CPU on average.
QuoteStill, there occasionally are clicks when I switch tabs on the main interface.
Quote from: Saga Musix on May 31, 2016, 08:06:14QuoteStill, there occasionally are clicks when I switch tabs on the main interface.This is also a known but unsolved problem, for some reason the initial tab redrawing is much slower than with previous MFC versions, so I'm not sure if this can ever be as fast again as it was in MPT classic. That said, OpenMPT's output is pretty solid on my old (and slow) Win98 machine, so other drivers (like manx suggested) may very well come into play here.
Quote from: Saga Musix on May 31, 2016, 08:06:14That said, OpenMPT's output is pretty solid on my old (and slow) Win98 machine,
Quote from: j7n on June 01, 2016, 05:23:04I found a little problem with OldWin builds. It is not possible to edit any value (aside from bool) under Setup > Advanced. When I double-click something, I get a huge empty window that extends outside the screen. In release 1.26 I get a smaller empty window, in 1.25 I get the correct text box. I tried the lated Win7 test build (on XP), and it didn't have this issue.
Quote from: j7n on June 01, 2016, 05:23:04Thank you for the update. I have tried the latest builds. Either ProcessPriorityClass = high or BoostedThreadPriority = 15 resolves the problem when using DirectSound!
Quote from: j7n on June 01, 2016, 05:23:04Apparently ASIO was already working at top priority in the release version. I thought I had tried it and found the opposite but clearly I was wrong. This priority cannot be reduced. That is ok. Process Explorer relates this thread to ctasio.dll (E-MU / Creative).
Quote from: j7n on June 01, 2016, 05:23:04I tried adding a VST that is known not to be realtime. The mouse movement becomes very jittery, but it is still possible to stop playback and remove the effect. High combined with boost = 1 (resulting priority of 14) make it much easier to stop playback.
Quote from: j7n on June 01, 2016, 05:23:04The option "play silence" under ASIO driver is very useful. This driver has a huge CPU usage spike in all applications when it is opened. That is possibly related to its priority.
Quote from: Saga Musix on June 02, 2016, 12:05:07It could be separated into two independent threads in theory, but this is not what OpenMPT does and I'm not even sure if it would benefit anyone - at least not until OpenMPT can do multithreaded plugin rendering.
Quote from: j7n on June 02, 2016, 10:15:42How is it that an output driver can change how (at which priority) effects processors get executed? VSTs run equally otherwise regardless of driver.
QuoteSeparating into 2 independent threads would require another layer of buffering and thus will just increase latency for practically no gain at all.