Why aren't all plugins 64-bit by now?
4th Dec 2013 | 12:17
Why, given that 64-bit has been on the roadmap for so long, aren't all effects and instruments up to speed by now? What's more, is it really right that certain DAW developers should be abandoning 32-bit systems at this point, and does it mean that plugin developers will soon follow suit?
Music production can be tricky enough without having to worry about computer compatibility issues, but as we all know, such things come with the territory.
As the audio performance problems in certain apps after Apple's recent iOS 7 update demonstrate, upgrading to a 'better' version of something in your system may seem like a good idea, but in doing so, you could discover that not all the elements in your setup have kept pace with this change, and you may find that you've created problems that didn't previously exist.
One of the biggest upheavals in computing over the past few years has been the move to 64-bit. Processors and operating systems have been up to speed here for years now, and most of the major DAWs are now capable of running in this configuration, too. The latest versions of Cubase, Sonar and Live are all 64-bit friendly, though they're also available in 32-bit guises.
However, in the cases of Pro Tools 11 and Logic Pro X, 64-bit is the only game in town, and the result is that some users who've upgraded have unwittingly discovered that their 32-bit-only plugins won't work in their shiny new DAW.
But why, given that 64-bit has been on the roadmap for so long, aren't all effects and instruments up to speed by now? What's more, is it really right that certain DAW developers should be abandoning 32-bit systems at this point, and does it mean that plugin developers will soon follow suit?
Bit of an improvement
Of course, you might still be wondering why you should care about 64-bit at all. As a computer musician, what improvements does it actually bring? "The main benefit is the larger amount of memory that an application can use," says plugin developer Urs Heckmann. "With 32-bit, an application is limited to 2GB of RAM; with 64-bit, it can address something beyond terabytes.
"The key benefit [of 64-bit] is for hardware vendors, who sell more machines if people have to upgrade from their old 32-bit CPUs." Urs Heckmann, u-he
"In addition, 64-bit Intel CPUs have more registers. So, in theory, applications can run faster due to less load/store overhead. On the other hand, program code is a bit larger as well. So it's a case by case situation whether or not 64-bit apps are faster."
Angus Hewlett of FXpansion adds: "On x86 processors, the 64-bit instruction set is a bit cleaner, and typically a bit faster-performing (10- 20%) for audio processing."
You'll likely see performance benefits with a 64-bit DAW, then, though the cynic in Urs Heckmann believes that customers aren't necessarily the big winners here. "If I may, the key benefit is for hardware vendors, who sell more machines if people have to upgrade from their old 32-bit CPUs," he wryly notes.
Making the change
Inevitably, creating a 64-bit version of a 32-bit plugin is going to involve a certain amount of conversion work, but just how difficult is it? "It varies," says Angus Hewlett. "Some other things changed at the same time as the move to 64-bit (the graphics/UI programming interface on OS X changed a fair bit and most compilers stopped supporting inline assembly), so if you rely heavily on those things, or on drivers, it's a bigger job. For a very small plugin, it might be an afternoon's work, but porting, testing and debugging a large one might take many months."
Urs Heckmann also suggests that converting an OS X plugin can be a trickier job than porting a Windows one: "Going 64-bit on Mac means that the Carbon User Interface Toolbox has to be replaced by the corresponding Cocoa functions. That's especially a drag for VST/AU developers who use their own GUI library. Carbon is that part of the operating system that was dragged on in Mac OS X to achieve an easy transition from Mac OS 9 back in the day. Using Cocoa means that a developer needs a bit of an understanding of Objective-C, whereas most developers use C and C++. This transition can cause a lot of blood and tears."
"A developer has to decide whether the benefits of upgrading a 32-bit plugin to 64-bit are going to be worth their time and effort."
That doesn't sound particularly pleasant, but surely it won't come as news to any plugin developers, who've had 64-bit on their roadmap for some time. So why is it that some of them still haven't caught up?
"It can be all sorts of reasons," explains Angus Hewlett. "Old code that's not being actively maintained; perhaps the plugin isn't selling any more and there's no way to pay for the maintenance; or it was built by an employee who no longer works there. Perhaps it was written using a framework that's no longer actively maintained or relies on some other third-party component. Plus, many of the smaller independent developers are part-timers or hobbyists, or take on contract work in between projects to pay the bills."
End of the 32-bit road?
Ultimately, it seems that a developer has to decide whether the benefits of upgrading a 32-bit plugin to 64-bit are going to be worth their time and effort, but have we now reached a stage where DAW developers should feel comfortable dropping support for 32-bit altogether? Was Apple right, for example, to only support 64-bit plugins in Logic Pro X?
"Probably, yes, if only because 32-bit to 64-bit bridging has a tendency to cause latency and performance issues - 64-bit and 32-bit code can't exist in the same process space, so it relies on inter-process streaming," explains Angus Hewlett. "Apple sets the bar high in terms of usability and user experience. Bridges are kind of a hack and won't work in all situations, especially as older plugins tend to break anyway on newer versions of Mac OS X. So, while there are grounds to be annoyed at them, it was probably the right time to make that move. People don't have to upgrade to Logic X."
Solutions for users who want to use 32-bit plugins in Logic Pro X have already started to appear – Sound Radix's 32 Lives application being the most notable one - but for many of the Logic users who have chosen to upgrade to X, it'll just be a case of waiting until all of their plugins are compatible.
"Continuing to support 32-bit for the time being isn't too much work for plugin developers." Angus Hewlett, FXpansion
As for those who are still running 32-bit systems, neither Angus Hewlett nor Urs Heckmann feels that they should be too concerned about plugin developers leaving them in the lurch.
"Plugin developers can be expected to respond to what host vendors and users do," says Angus Hewlett. "Logic and Pro Tools are now 64-bit only, and most of the other big-name hosts can be expected to drop 32-bit fairly soon. So the question really is how quickly users migrate to the new 64-bit-only hosts. Continuing to support 32-bit for the time being isn't too much work for plugin developers (at least while our development tools, OSs, etc, do the same), so until perhaps 80% or more of would-be customers are on 64-bit DAWs, there's not a lot of reason to drop support."
Urs Heckmann sees an even longer future for 32-bit, telling us that "it'll be many years" before support for it is dropped. "We still get occasional requests for PowerPC versions, even though those haven't been produced for, what, six or seven years now? 32-bit hosts won't go away anytime soon – I think 32-bit might be dragged on for another decade."
This article originally appeared in issue 198 of Computer Music magazine.