INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Audio stutter at the end of track when playing from memory instead of disk  (Read 1989 times)

audiogeek

  • Member
  • *
  • Posts: 2

After I upgraded from MC 18 to 19 and enabled 'Play files from memory instead of disk (not zone specific), I got stuttering sound when approaching end of track (not consistent but it happens from time to time). This happened when playing back high res files like 24/192k and DSD64. A close look at Windows Task Manager under 'Performance' I saw CPU utilization spike around 60 to 70% before going down to less than 5%. I presumed it cached data from my NAS.

The problem goes away if I disable 'Play files from memory instead of disk (not zone specific)' The CPU utilization now spike around 10% before going down to less than 5%.

My setup:
Streamer:Intel NUC dual core Celeron running Windows 7 x64, SSD 120GB with 4GB DDR3 RAM. Gigabyte LAN Ethernet. Play from NAS.
SACD/CD/USB-DAC: Marantz SA-14S1 with ASIO driver, buffering 50ms
MC 19.0.128 also tried 19.0.137

Cheers :)
Guy
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353

Media Center 19 completely changed the way that Memory Playback worked, and how SACD ISO playback is handled.
 
In MC18, there was maybe a 30MB buffer of decoded audio that was used for playback, whether Memory Playback was enabled or not.
Enabling Memory Playback in MC18 would cache the file in RAM, and use that for playback to fill this 30MB buffer.
This meant that there was a continued low amount of CPU usage during playback, to keep this 30MB buffer full.
It also meant that no amount of disk activity could interrupt playback of the current track, because it was cached in RAM.
 
In MC19, Media Center no longer caches the file in memory. When you enable Memory Playback, it increases the size of the playback buffer to allow for up to 1GB of decoded audio.
So when you start playback in MC19, there's a huge spike of CPU usage at the start of a track as it tries to fill this 1GB buffer as quickly as possible. (rather than a small 30MB buffer)
It also means that if the track decodes to >1GB (common with DSD) then there will be a spike of CPU usage and disk activity in the middle of playback as well.
 
These spikes of CPU usage have the potential to interrupt playback, and it means that memory playback is no longer immune to disk access during playback either.
If I'm playing a multichannel DSD file, I have to make sure that nothing else us using that disk or a high amount of CPU usage, or else playback will be interrupted.
 
What's happening for you is that Media Center starts to load the next track just at the end of the currently playing track (10-20s) so you have a large enough CPU spike while it's trying to decode 1GB of audio to interrupt playback.
 
 
 
  • It considerably increases the amount of RAM used.
  • It increases CPU usage during playback which can interrupt playback, or other applications running on the system.
  • It no longer stores the file in RAM, so disk or network access can now interrupt playback.

All so it ticks a box for audiophiles that believe there could be a difference between file formats (e.g. FLAC, ALAC, WAV, AIFF etc.) so that they can advertise that all playback is done from uncompressed audio rather than compressed formats.
 
I would much rather see a return to the MC18 style of Memory Playback which caches the files, rather than increasing the size of the playback buffer.
Ideally there would be options that would let you control the size of both the memory playback buffer (file cache) and the playback buffer. (decoded audio)
 
I'd like to have something like a 30MB playback buffer with a 1-2GB file cache, that has the option of caching multiple tracks. (currently playing plus the next two, for example)
This would keep CPU usage low during playback, and prevent disk/network access ever interrupting playback.
 
 
 
Here are some examples I posted a few months back:
 
Media Center 18 (the memory playback option does not affect SACD ISO in MC18)

 
Media Center 19 with Memory Playback enabled:

 
Media Center 19 with Memory Playback disabled:

 
Note: My CPU is actually running at 4.5GHz, Task Manager only reports the stock speed in that graph.
As you can see, CPU usage is significantly lower, and more constant in MC18 compared to MC19.
 
With MC18 I could play back SACD files without any interruption.
With MC19, Media Center impacts the performance of everything else running on the system in a noticeable way (even basic things like page scrolling in a web browser) and CPU usage or disk access from other applications can interrupt playback.
Logged

audiogeek

  • Member
  • *
  • Posts: 2

Thanks for the info, looks like playback through memory instead of disk is more CPU intensive. Temporary I disabled playback through memory instead of disk until it is resolved. Does it improves if I beef up the CPU and memory? I'm using a Intel NUC, dual core Celeron clocked at 2.3GHz with 4GB RAM, 120GB SSD.

I noticed upgrading from 19.0.128 to 19.0.137 seems to produce less noticeable stutter just before the end of track. I play mostly DSD64 and FLAC 24-bit/96k/192k files, direct, no DSP.
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353

A faster CPU should help, and changing your audio device's settings might improve things as well. If you can, try increasing the ASIO buffer size for example. (not in Media Center, but via its ASIO Control Panel - assuming it has one)
 
Ultimately, it seems like Media Center is going to have a spike of 100% CPU usage regardless of how fast your CPU is - it's just whether or not that ends up affecting playback.
Logged
Pages: [1]   Go Up