Thinking of going 64 bit only...

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

... has anybody else doing this yet? It seems like the time to stop bothering with 32 bit for both Windows and Mac, but what do you think?
I realise it’s possibly going to have some negative public views, but should I really care?

Post

I've just done it, after upgrading to Sound Forge 12. I deleted my 32bit vst folder a couple of days ago. No regrets (so far).

Post

Do whatever keeps you sane and sparks your interest as a developer.

I do the majority of my work in 64 bit OSX but I plan on keeping a 32-bit Windows machine around so I can run VAZ Modular, AudioMulch, and a bunch of great free/donationware into the future.

Post

Doing just 64 bit definitely keep me slightly more sane and hassle free. But it does seem a little bit lazy, hummmm, it’s surprisingly hard to decide.

Post

32-bit is going to be irrelevant on the Mac side once the new OS comes out and completely drops support for it (like Apple did with iOS.)

I'm going to keep building both as long as I can, same with the PC side. There are people out there with plugins that will never be updated to 64-bit and I hope mine can keep them company. Plus, Windows users seem to revel in 32-bit even more so than Mac users.

I don't do any code that depends on bittedness, so it's really a non-issue for me at this point. I just wish Windows used universal binaries so I wouldn't have to keep switching to compile. :lol:
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

Thanks for the replies, yeah keeping two different Windows versions confuses me as well as potential customers. It would just be quite a relief to finally let go of it. (I’m convincing myself now, I see :) )

Post

syntonica wrote: I don't do any code that depends on bittedness, so it's really a non-issue for me at this point. I just wish Windows used universal binaries so I wouldn't have to keep switching to compile. :lol:
Visual Studio can batch build any number of configurations for any number of projects in a solution: in Build menu pick "Batch Build" and you can probably figure it out.

That said, personally I find that when I'm writing code that's supposed to run in 32-bit mode there's a few things that one has to be careful about. The two most obvious cases that come to mind:

- int64_t is handy for some stuff, for some types of algorithms it can even help you save some cycles, but it's going to be slower on 32-bit, so you might want to think twice before using it to optimise some performance critical inner loop

- large allocs and/or memory maps are hardly a problem on 64-bit, but on 32-bit you're unlikely to ever get a continuous block of more than a few hundred megabytes and people are probably going to get angry at you if your plugin speculatively allocates a few gigabytes of address space just in case (which is perfectly fine on 64-bit; it's not like actual physical memory is required until you touch it).

Post

So Mystran, you’re not planning on dropping 32 bit for Windows any time soon?

The thing about Mac is that Juce, as an interesting example, is going to drop 10.6 soon, so I’m betting Mac 32 bit is probably quite a small user base (I don’t know, 2%?) But of course there’s always going to be some stick-in-the-mud somewhere that’s going to get angry over it - I can almost hear them now...

Post

There's some talk about this at the Juce forum too.

The big players I can think of such as ProTools, Cubase, Logic Pro, Native Instruments have all dropped 32 bit support at least in the latest versions.
Of course when they did that there a was a bunch of vocal angry users complaining about that ...
Myself I'll probably wait another 6-12 months before doing it.

Post

We've announced that by the end of the year we will drop support for 32bit, and we are also dropping support for older systems. We'll do it slowly to give more notice, but so far I've read only 2 or 3 messages of people "complaining".

We have everything automated here, so the problem is not preparing multiple formats for each product. The real problem for us is that it's likely for someone using 32bit plugins to have a very old OS and/or a very old DAW. If you don't have access to that particular configuration, it can be a pain to debug even the stupidest bug or just give any kind of support.

From our latest survey less than 10% was still using 32bit. Still too much probably, but since Ableton Live went 64bit only I guess the number is going to drop fast.

If you want to read a bit more about our decision, check our blog.
AudioThing (VST, AU, AAX, CLAP Plugins)
Instagram | Twitter | Discord Server

Post

mystran wrote:
syntonica wrote: I don't do any code that depends on bittedness, so it's really a non-issue for me at this point. I just wish Windows used universal binaries so I wouldn't have to keep switching to compile. :lol:
Visual Studio can batch build any number of configurations for any number of projects in a solution: in Build menu pick "Batch Build" and you can probably figure it out.
I've been programming Windows for less than two months, so I've been focusing on their API. I know I can get both builds, I just haven't dug into the guts of VS yet to set it up fully. But it's one of the things I do like about Xcode, that the build process is so simple and requires little initial setup unless you start doing extra fancy things.

Since I completed the Windows engine, I've been focusing on code clean up (a.k.a. adding features is way more fun than asserts, so I left a bit of a mess) and actually using some C++ features I've been ignoring, but find very useful in the end. Cleaner, more readable code.
mystran wrote: - int64_t is handy for some stuff
- large allocs and/or memory maps are hardly a problem on 64-bit,
I'm nowhere near doing anything of that scale yet. If I ever have to load in huge swaths of samples, then I can start worrying. However, I started programming with 4k of RAM, so minimizing the use of resources is extremely ingrained in my programming style. I laugh at myself when I throw more memory at a speed problem and I end up using only 64k more in the end. :lol: Old programming habits die hard as I drag myself out of the 70s and into the world of "limitless" resources.

On a side note, I didn't realize Live was 64-bit only now. That certainly makes the decision to drop 32-bit support easier for some. But since I'm just a little fish, I'm going to go with both for now. But I am curious to see numbers of who is using which platform with which DAW which percentage of the time.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

Recenty a simple "hello world" style plugin made with Juce wasn't loading into an old 32 bit build of Live.
I guess that means 32 bit VST support of Juce was already practically over although it existed in theory:)
~stratum~

Post

According to my website statistics, on Windows, the number of Windows 7 users is quite big, 30% out of all Windows versions. And that means 32-bit may still be required. On Mac it's a different story - no more than 2% of Mac OS 10.6 and 10.7 users out of all users, so 32-bit may be safely discontinued on Mac in a year, but I would not drop 32-bit support on Mac, because technically it no hassle as you can build universal executables in a single run.
Image

Post

If i’m supporting 32 bit on Mac then it lends more continuity to support it for Windows too.
And so the cycle continues... :x :hihi:

RIGHT, I’ve decided. Anything new is going to be 64 bit only, and keep and support old 32 bit stuff, because, well, it’s already been built so WTF!
That sounds like a plan. Hmm, I love executive decisions like that! (I may change my mind at any time though... :dog: )

Post

quikquak wrote:So Mystran, you’re not planning on dropping 32 bit for Windows any time soon?
I honestly have no idea. Personally I actually mostly use a 32-bit host on Windows actually, simply because I'd have to sort through the monster that's %userprofile%/VstPlugins; this beast of nightmares will reliably kill any host brave enough to actually try to perform a "deep scan" (eg. it only works with FL fast scan and similar that doesn't actually try to load the plugins). For typical portable code I just don't think it's that big of a deal one way or another, so I'll probably only start thinking about it seriously next time I want to do something that isn't portable (eg. JIT or whatever).
The thing about Mac is that Juce, as an interesting example, is going to drop 10.6 soon, so I’m betting Mac 32 bit is probably quite a small user base (I don’t know, 2%?) But of course there’s always going to be some stick-in-the-mud somewhere that’s going to get angry over it - I can almost hear them now...
I haven't really got around to releasing anything on macOS yet, but my development stuff currently requires at least 10.9 framework and I find it somewhat unlikely that I'm going to bother trying to work-around earlier frameworks, given the wonderful poetry that is Apple's documentation (especially for old versions). That makes the question of 32-bit builds on macOS even more interesting for me (eg. is it really worth slower compiles and extra binary size? I don't know).

Post Reply

Return to “DSP and Plugin Development”