Recently I had a user reporting performance issues with Cantabile and PianoTeq, where in the PianoTeq standalone host the performance graph would look like this:
but in Cantabile it’d look like this ie: super spiky.
After a bit of trial and error we narrowed this down to having OpenGL rendering enabled in Cantabile. After turning it off the problem went away.
Anyway, I couldn’t reproduce the issue here but reported it to Modartt and they could reproduce it. They’ve spent some time looking into it and seem to have found the cause of the problem. I’ve included their explanation below which is a good tip to remember:
Just to let you know, our software developer investigated
this further and found some interesting conclusions.
The spikes in the audio load curve were mostly due to having:
- 1 single RAM stick in the computer, thus no dual-channel.
- using the internal graphics card integrated in the CPU, thus sharing
the RAM with the CPU.
- having a 4K display hooked to the computer, thus lots of pixels that
had to be moved.
In situations when the graphics card is used (having an OpenGL demo
running for example, but also just dragging windows on the desktop, or
having minor display animations), the RAM bandwidth available for the
CPU is halved, and also the RAM latency (as reported by Sisoft Sandra)
is increased by a factor of 7! This was the cause of the spikes in
Pianoteq - the CPU was still running at full speed, there were no
context switches interrupting the audio thread, it was only the RAM
accesses that were suddenly much slower.