Thread Rating:
  • 3 Vote(s) - 3.67 Average
  • 1
  • 2
  • 3
  • 4
  • 5
CPU Performance vs. Real-Time Performance in Digital Audio Workstations
#1
This video describes what aspects of computer performance are important for a DAW. Well done Richard Ames!

https://www.youtube.com/watch?v=GUsLLEkswzE
Reply
#2
thanks.
Mixbus32c, Mackie Onyx 1640, Neumann km1, WA 47 jr..MadronaLabs, Samplemodeling, UA, etc., iPad2/4/Pro
Reply
#3
Now we're at it,

How much better would the PCI-e format perform against other systems, considering the audio interface itself being plugged straight into the socket?
Would there be a significant realtime performance gain compared to USB2?

If you take out the factor of good drivers of coarse...

I'd be interested in running loads of plugins while mixing at regular latencies, and tracking through a few plugins at almost zero latency.
Or even using an outboard compressor/reverb/ other device and have a low roundtrip latency.

Running loads of plugins isn't the way to go (as I now), but choosing a new audio interface, it's certainly a factor I would look after knowing that plugins will demand more and more as developers compile new revolutionary milestone plugins.

Benny.
Reply
#4
Good stuff!

The video shows a link to a latency checker for Windows. Here is one for Linux and it is one of the many amazingly top notch creatures of Fons Adriansen, so head over to: http://kokkinizita.linuxaudio.org/linuxaudio/ and search for Jack_delay.

And do yourself a favor: -Check out the other stuff as well! :-)

(06-06-2016, 02:32 PM)benny van de locht Wrote: Now we're at it,

How much better would the PCI-e format perform against other systems, considering the audio interface itself being plugged straight into the socket?
Would there be a significant realtime performance gain compared to USB2?

The PCI-e interface will not necessarily be faster when it comes to latency. Several USB interfaces can do 1.5 ms or so. But is it all that important? Imagine how much you have to move your head backwards in order to have this latency between your monitors and your ears, then you will realize that 5-10 ms is not bad after all! :-)

How and what you can do with latency varies very much between the operating systems, but an important factor for everyone might be if the interface's IRQ is shared with your HD, then they might begin to fight with each other. Hyper-threading is also something that can make trouble, but all this varies very much from computer to computer and also the operating systems. I think that it's better to use a system where your sound card have a decent real time monitoring.
Mixbus/Mixbus32C on Linux (Kubuntu)/KXStudio repositories.
GUI: KDE and Fluxbox
Reply
#5
(06-06-2016, 02:46 PM)Jostein Wrote: The PCI-e interface will not necessarily be faster when it comes to latency. Several USB interfaces can do 1.5 ms or so. But is it all that important? Imagine how much you have to move your head backwards in order to have this latency between your monitors and your ears, then you will realize that 5-10 ms is not bad after all! :-)

How and what you can do with latency varies very much between the operating systems, but an important factor for everyone might be if the interface's IRQ is shared with your HD, then they might begin to fight with each other. Hyper-threading is also something that can make trouble, but all this varies very much from computer to computer and also the operating systems. I think that it's better to use a system where your sound card have a decent real time monitoring.

Thanks Jostein.
I found a nice video on the topic from Molten Audio here:

https://www.youtube.com/watch?v=ojnnP_GXNaM
Reply
#6
(06-06-2016, 02:46 PM)Jostein Wrote: The video shows a link to a latency checker for Windows. Here is one for Linux and it is one of the many amazingly top notch creatures of Fons Adriansen, so head over to: http://kokkinizita.linuxaudio.org/linuxaudio/ and search for Jack_delay.

The tool from Fons measures the audio (roundtrip) latency and is basically built into Ardour/Mixbus for calibration in the audio setup dialog as well as for measuring the latency of channel inserts.

I think the tool in the video OTOH measures system latencies - not audio. If I'm not mistaken a similar tool available for Linux would be "latencytop".
Disclaimer: Any resemblance of my nick with a given engineer is purely coincidental!
Desktop: AMD Phenom II x6, 4 GB RAM, Radeon graphics, RME HDSP 9652
Laptop: Thinkpad E560, i3 6100U, 8 GB RAM, Intel graphics, Tascam US-2x2
X32 Rack - Debian GNU/Linux - 32c
Reply
#7
(06-07-2016, 04:01 PM)the C.L.A. Wrote: I think the tool in the video OTOH measures system latencies - not audio. If I'm not mistaken a similar tool available for Linux would be "latencytop".

Yes, or cyclictest (part of the rt-tests package on most GNU/Linux distros). latencytop is very specific and needs a debug-kernel to support it.

A good start is
Code:
cyclictest -m -S -d0 -p80

As the name implies, cyclictest runs in cycles, waking up the CPU as fast as possible and checks if somethings hogs the CPU while doing so.

Keep it running for a while, the longer the better. it'll print output similar to

Code:
T: 0 ( 4308) P:80 I:1000 C: 150615 Min:      5 Act:   11 Avg:   12 Max:      33
T: 1 ( 4309) P:80 I:1000 C: 150599 Min:      6 Act:   12 Avg:   12 Max:      36

The important number is the Max, last in the line. That's the worst-case time between CPU context-switches in micro-seconds (10^-6 sec). That's the same what the DPC latency checker (used in the video) measures in the windows world.

If you get a number Max: 1500. that means it can take up to 1.5 msec until the CPU can actually begin to process audio. With a Buffersize 256 frames @ 48KHz. That'd be about 30% of the time already. As the video mentions the most common case are drivers and hardware. On Linux in particular WIFI and Video/Graphics devices are on the top of the list. As for finding the culprit, well that'll be a longer story.

On OSX similar tools are available that come with Apple's "developer tools / Xcode". In a terminal `apropos dtrace` will list commandline utils, but you'll probably want the excellent "Instruments" (search in spotlight) graphical profiling instrumentation tools.

PS. Bottlenecks can be in the most unusual places! Yelling at your hard-disk may stall your system for 500msec right there: https://www.youtube.com/watch?v=tDacjrSCeq4
Reply
#8
That is a great video... It did make me wonder if adding a video card for my monitor would be helpful in DAW performance. I don't have any issues, but it would be nice to add ant further improvement I could. What do you all think add a video card or keep running off the motherboard?

Cole
Reply
#9
(06-07-2016, 08:19 PM)colejustesen Wrote: That is a great video... It did make me wonder if adding a video card for my monitor would be helpful in DAW performance. I don't have any issues, but it would be nice to add ant further improvement I could. What do you all think add a video card or keep running off the motherboard?

Cole

I wondered about this too.
I noticed when getting near to my maximum cpu usage (the parameter in Mixbus, definatly not on taskmanager), I heard crackling when manipulating the GUI. Can a discrete (passive) graphics card contribute to the maximum plugin overhead?

Benny
Reply
#10
(06-07-2016, 07:37 PM)x42 Wrote: On OSX similar tools are available that come with Apple's "developer tools / Xcode". In a terminal `apropos dtrace` will list commandline utils, but you'll probably want the excellent "Instruments" (search in spotlight) graphical profiling instrumentation tools.

PS. Bottlenecks can be in the most unusual places! Yelling at your hard-disk may stall your system for 500msec right there: https://www.youtube.com/watch?v=tDacjrSCeq4

Thanks for the hints !!

Although i hate them too !!

I had sworn that i would concentrate on Music, composition. (live) recording and more. No more context switches, but modulations..

And now i am getting back at the beautiful dtrace from those brilliant fools like Bryan Cantrill and the performance guru Brendan Gregg

Yes I too shout at my laptop: why so many kernel threads while nothing is running?

But it does not talk back

(06-08-2016, 02:45 AM)benny van de locht Wrote:
(06-07-2016, 08:19 PM)colejustesen Wrote: That is a great video... It did make me wonder if adding a video card for my monitor would be helpful in DAW performance. I don't have any issues, but it would be nice to add ant further improvement I could. What do you all think add a video card or keep running off the motherboard?

Cole

I wondered about this too.
I noticed when getting near to my maximum cpu usage (the parameter in Mixbus, definatly not on taskmanager), I heard crackling when manipulating the GUI. Can a discrete (passive) graphics card contribute to the maximum plugin overhead?

Benny

Difficult to say if a video card will help: Mixbus does not need complicated graphics.
It will enlarge you memory : it will use the memory on the card instead of the system memory.
Most probably if one has an older system with a limited gpu on the motherboard, it will increase performance

But the in CPU i7 GPU is on the fastest bus. The internal CPU=CPU bus. Getting data over the PCie bus, to the external GPU most likely will need more CPU cycles to get the data across

I am about to start a series of tests: One of them is comparing the performance of the external GPU with the internal. It is on a MAC but it will give an indication

regards
Frank W. Kooistra

- MMB32C 9.1, AD/DA: Motu:1248, 8A, 8D, Monitor8. X-Touch,, Mini M1 11.6.2, venture 13.3 plugins melda fabfilter harrison No Harrison CP-1 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)