|
07-27-2016, 02:40 PM
|
#1
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
How are you dealing with binaries?
If you make plugin with a name "Plugin.vst" do you make it "Plugin64.vst" for the 64bit, or leave it the same? If you rename it what should I change, bundle id?
|
|
|
07-27-2016, 11:20 PM
|
#2
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
If you are using default WDL-OL (or even my WDL/IPlug) settings, then the OSX binaries will contain both 32 and 64-bit i.e. there are no separate 32/64-bit bundles.
|
|
|
07-28-2016, 01:15 AM
|
#3
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Tale
If you are using default WDL-OL (or even my WDL/IPlug) settings, then the OSX binaries will contain both 32 and 64-bit i.e. there are no separate 32/64-bit bundles.
|
Really? But why there is an option to select target architecture (32bit/64bit)?
|
|
|
07-28-2016, 01:39 AM
|
#4
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by Youlean
Really? But why there is an option to select target architecture (32bit/64bit)?
|
Because you can build only for a single architecture, e.g. if you no longer want to support 32-bit. But by default Architectures is set to Universal (32/64-bit Intel), which builds a universal binary.
|
|
|
07-28-2016, 02:10 AM
|
#5
|
Human being with feelings
Join Date: Nov 2013
Location: France
Posts: 181
|
Quote:
Originally Posted by Youlean
Really? But why there is an option to select target architecture (32bit/64bit)?
|
This puzzles me too. While I can generate the 32/64 bit plug-in, in a 64-bit scheme, Xcode don't let me run REAPER, but only REAPER64:
Code:
the specified architecture 'x86_64' is not compatible with 'i386-apple-' in '/Applications/REAPER.app/Contents/MacOS/REAPER'
So I have one VST-32 scheme, with My Mac (32-bit) and REAPER, and one VST-64 scheme, with My Mac (64-bit) and REAPER64. This is just for fast testing from Xcode, because the generated VST is the same in both cases.
Of course, if I start REAPER or REAPER64 independently of Xcode, the VST works correctly in both applications, and displays in its window "32b" or "64b", based on the size of (void*).
Code:
char txt[24];
sprintf(txt, "V%d.%d.%d%s%s%s %s", (PLUG_VER>>16)&0xff, (PLUG_VER>>8)&0xff, PLUG_VER&0xff,
(bldflgs ? "-" : ""), (bldflgs&1 ? "D" : ""), (bldflgs&2 ? "M" : ""),
(sizeof(void*)==4?"32b":"64b"));
pGraphics->AttachControl(new ITextControl(this, tmpRectTT, &textPropsTT, txt));
By the way, It seems (very informally) that the 64bits version runs 10 to 20% faster than the 32bits versions (with Xcode 6.2, on an iMac 3.5 GHz Core I7), according to REAPER Performance Meter. Is there some good reason for this ?
|
|
|
07-28-2016, 03:53 AM
|
#6
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by jack461
By the way, It seems (very informally) that the 64bits version runs 10 to 20% faster than the 32bits versions (with Xcode 6.2, on an iMac 3.5 GHz Core I7), according to REAPER Performance Meter. Is there some good reason for this ?
|
x86-64 automatically implies SSE2, and proper alignment of doubles. I would kinda expect the same performance from i386, provided you enable SSE2, and properly align your doubles.
|
|
|
07-29-2016, 02:55 AM
|
#7
|
Human being with feelings
Join Date: Nov 2013
Location: France
Posts: 181
|
Quote:
Originally Posted by Tale
x86-64 automatically implies SSE2, and proper alignment of doubles. I would kinda expect the same performance from i386, provided you enable SSE2, and properly align your doubles.
|
Tale, thanks for this idea. I'll try to find where to put this option.
|
|
|
07-29-2016, 03:06 AM
|
#8
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
BTW, if you do a lot of 64-bit int caclulations, then x64 will also be faster than x86.
|
|
|
07-29-2016, 11:52 AM
|
#9
|
Human being with feelings
Join Date: Nov 2013
Location: France
Posts: 181
|
Quote:
Originally Posted by Tale
BTW, if you do a lot of 64-bit int caclulations, then x64 will also be faster than x86.
|
Tale, I'm not sure I understand your remark.
I'm using in Xcode "Architectures" with the value "Universal (32/64-bit Intel)", and "Valid Architectures" with the value "i386 x86_64".
Do you say that I should replace this by "x64", or something like this ?
|
|
|
07-29-2016, 12:18 PM
|
#10
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by jack461
Do you say that I should replace this by "x64", or something like this ?
|
No, I was just being lazy... On Windows 32-bit is usually called "x86" and 64-bit "x64" vs i386 and x86-64 on OSX. My remark about ints (and about SSE2) is valid on both Windows and OSX. Note that AFAIK double alignment is an issue only on OSX (I guess because the Microsoft compiler automatically properly aligns doubles).
|
|
|
07-29-2016, 02:19 PM
|
#11
|
Human being with feelings
Join Date: Nov 2013
Location: France
Posts: 181
|
Quote:
Originally Posted by Tale
No, I was just being lazy... On Windows 32-bit is usually called "x86" and 64-bit "x64" vs i386 and x86-64 on OSX. My remark about ints (and about SSE2) is valid on both Windows and OSX. Note that AFAIK double alignment is an issue only on OSX (I guess because the Microsoft compiler automatically properly aligns doubles).
|
OK, thanks ! (As you can guess, I know little about Windows :-)
|
|
|
07-29-2016, 04:06 PM
|
#12
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Also on 64bit architecture you can move 64bit of data in one cycle...
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 04:13 AM.
|