It would be nice to have a "do not play files until loaded into memory" optional checkbox.
It is not difficult to fix it. Everything works OK, just need to start playing after track is loaded to RAM.
That would not fix this.
First of all, MC would have to switch to 64-bit and you would need to assign it at least 8GB of RAM all to itself to ensure that it can fully cache an entire track in the current system.
Secondly, that means you cannot do gapless playback, and potentially have gaps of 30+ seconds between tracks - because if you start loading the next track during playback of the current one, you'll get that same interruption in playback.
No, returning to the "old" Memory Playback system where the
file is cached, and audio is decoded to a small ~30MB buffer would largely solve most of the issues that the "new" Memory Playback system has caused.
And expanding the old system, allowing MC to use up to (or more than) 1GB to cache multiple files at once rather than a single file would fix the only real issue that was present with the old system: being susceptible to slow disk access when changing tracks - though at least it was not susceptible to slow disk access
during playback, as it is now.
The new system just eats up CPU and Memory resources for no benefit other than a marketing point, at the expense of performance and quality.
The only positive is that it can now cache SACD tracks while the old system could not - because SACDs are big files and MC is limited to 1GB.
But the benefit of that is lost when you cannot actually play SACD tracks without problems caused by the high CPU usage.
CPU usage and I/O from MC20 playing three tracks:
CPU usage and I/O from MC18 playing the same three tracks:
It's those big spikes in CPU usage and I/O that cause problems for playback.
MC18's constant but low-level CPU usage is error-free, and there is zero I/O during playback since it caches files rather than decoded audio. Overall memory usage is lower too.
MC20's behavior with Memory Playback disabled is similar to MC18's Memory Playback, only there's constant I/O during playback which makes it susceptible to interruption. (which does occasionally happen, since I actually use my PC instead of dedicating a system to music)
A revamped Memory Playback system which returns to the MC18 style of playback and expands upon it, is probably the #1 change I'd like to see for MC21.