Customer Example
Cakewalk's Chief Technical Officer Ron Kuper discovered the benefits of moving to x64 when Cakewalk decided to try a test build of its flagship SONAR 4 Producer Edition, a Digital Audio Workstation (DAW) application on a pre-release version of Windows XP Professional x64 Edition. Using a pre-release version of Microsoft Visual Studio® 2005, Cakewalk created an x64 version of SONAR 4. As Kuper explained, “When we got the initial benchmarking results, we thought there was something wrong. We hadn’t expected to see a significant difference in performance, but we saw from 20-30% performance improvement.” Kuper pointed out that not every test they ran showed a significant performance improvement over the 32-bit version of SONAR. A few were essentially the same, but the vast majority of scenarios did show a dramatic gain.
Kuper went on to point out that Cakewalk really had not done much tweaking of the application at this point to take full advantage of the x64 architecture. But when the company looked at what was happening, it realized that the additional registers of the x64 platform were enabling significantly faster computations. A digital equalizer, for example, uses a processing element known as a biquad. A biquad is small code fragment that manipulates eight numeric values in a series of additions and multiplications, so even a single biquad calculation will use all the available registers of an x86 processor. Because most equalizers use multiple biquads, either for stereo data or additional filtering, data will have to be fetched from and written to RAM, which is a major slowdown. Another advantage of x64 floating-point calculations is that they use SSE/SSE2 registers, which allows the Digital Signal Processing (DSP) code to process stereo streams in parallel.
The one area in which Cakewalk found a significant advantage with the additional memory support in Windows XP Professional x64 Edition was in sampling and loop processing. Because of the additional RAM support, the company was able to load far more loops in RAM, allowing for real-time pitch shifting and time-compression expansion. Users can also load much larger sample sets into RAM for additional performance improvements for projects with large amounts of sampling.
|