At this year’s SIGGRAPH Conference in New Orleans, Carl Jacobson met with the host of Intel’s Visualize This! TV Show, Arti Gupta, to discuss Cakewalk’s advancements in it’s software performance. Some of Arti’s questions were so technical that we thought it only fair to ask Cakewalk’s CTO Noel Borthwick to add his thoughts. Watch the video and check out Noel’s comments below:
AG: Cakewalk is a member of the Intel Software Partner Program. What challenges were you trying to solve?
NB: The bandwidth available to the typical modern DAW user using a modern CPU such as the Core I7 is astounding compared to what was available just a couple of years ago. Users expect our software to use every ounce of available CPU cycles and horsepower it can to process their audio and mix. Cakewalk has been on the bleeding edge of technology for the last 15 years, taking advantage of cutting edge capabilities of the operating system as well as available hardware resources. With multiprocessing and 64-bit computing rapidly becoming mainstream, it has become even more critical for our software to make efficient use of hardware resources.
For example, for efficient multiprocessing we try and optimize all the code paths that are used in asynchronously mixing audio. The goal is to present a multi core machine with even and distributed workloads allowing the cores to work as hard as possible. To do this, we streamline the relevant code and minimize all high latency instructions.
Some typical areas that we try and improve our performance in are:
• Multi-processor load scaling: How well does a controlled test project load across multiple CPU cores?
• 64 bit performance: How well does the 64 bit version of the application perform with multiple workloads?
• CPU use: How efficiently does SONAR play back a CPU intensive project?
• High bandwidth tests: How well does the application perform while streaming audio at high sample rates (192K, 384K, etc) and bit depths (64 bit audio, etc)?
• Low latency performance: How well does the application perform streaming audio with very small audio buffer sizes (such as 1 msec buffers)?