PDA

View Full Version : LW 8 and Xcode ?



Karsten Lueth
12-07-2003, 03:19 AM
A question for NewTek: will it be possible to compile plugins for LW8 with Xcode or do we have to buy Code Warrior??

Lynx3d
12-07-2003, 08:59 AM
Uhm why shouldn't it work? :confused:

It uses GCC, right?
Can't really help you there since i'm using Windows on PCs, but i'm using GCC too (in the form of MinGW) and it works fine for LW (well if you ignore the numerous warnings :D) and i don't see a reason why it should change with LW8

Karsten Lueth
12-08-2003, 12:30 AM
There exists two different object formats for Macs. The old CFM architecture of OS9 and the new Mach-O architecture of OSX. LW7.5 is still a CFM application. If you want to compile an plug-in, you have to use either Code Warrior (expensive) or the old OS9 Macintosh Programmers Workshop which is not supported anymore. The new and free Apple developement tools Project Builder and Xcode only generate Mach-O code. AFAIK its not possible to compile LW plugins with Xcode.

Lynx3d
12-08-2003, 09:42 AM
Hm should've know it's extra complicated on the Mac...and there is really no GCC that will create CFM binaries?

In that case i guess i can also forget the idea to build a cross compiler to port my own plugins to Mac...
And then i'd also like to what LW8 will use!

eblu
12-08-2003, 10:21 AM
uneducated guess:

LW8 being an update and not a re-write of LW, will be compiled in CW. No reason to switch horses mid-race so to speak. I would expect at the next major re-write ( 6 was the only major re-write for the mac btw) Newtek will evaluate the availible tools. They would likely compare the value of staying current, against the negative effects of pulling the rug out from under the feet of all of the 3rd party plugins.

peace,
-ted

Lynx3d
12-08-2003, 11:48 AM
Uhm it wouldn't take a rewrite to use Mach-O, actually according to Apples Development Guides it sounds more like an easy step like changing some libraries and settings and recompile the thing.
Well some smaller(?) changes may be needed, but i couldn't find some examples to give me an impression about that.

However the program will then only work with MacOSX, but on the other hand i got the impression that it might actually hinder the development of LW8 (or any program) to stay with CFM, because OSX offers better multithreading and debugging via it's native Mach-O.

Scott_NewTek
12-08-2003, 10:49 PM
Originally posted by Lynx3d
Uhm it wouldn't take a rewrite to use Mach-O, actually according to Apples Development Guides it sounds more like an easy step like changing some libraries and settings and recompile the thing.
Well some smaller(?) changes may be needed, but i couldn't find some examples to give me an impression about that.

However the program will then only work with MacOSX, but on the other hand i got the impression that it might actually hinder the development of LW8 (or any program) to stay with CFM, because OSX offers better multithreading and debugging via it's native Mach-O.

Hello everyone, Scott Thompson, NewTek Mac Programmer here...

As a matter of fact, we do still use CodeWarrior and we are still and expect LW 8 to be a CFM app. We have a roadmap for changing over to Mach-O, but as guessed, the third party plugin world will need to be addressed before that can happen. I do not know when it will be, but surely, eventually there will be a switch to Mach-O. There are some possibilities of preserving the old CFM plugins, but it gets very complicated and may not work. Time will tell, but at this time, time says 'stick with CFM'! :-)

-Scott

Ade
12-09-2003, 12:45 AM
Scott how long would it take to switch to Mach-O and what speed advantages would we get?

Why are mac 3d apps slower than pc's? is it hardware or code?

Scott_NewTek
12-09-2003, 09:09 AM
Originally posted by Ade
Scott how long would it take to switch to Mach-O and what speed advantages would we get?

Why are mac 3d apps slower than pc's? is it hardware or code?

It is hard to say how long it would actually take to switch over to Mach-O, the Apple folks informed us to take at least 6 months to get it all done based on what we discussed. And that is if it all worked out. The real big unknown is the CFM interface for the plugins. Any code called FROM the plugins has to be intercepted and handled. This is a difficulty for us because we have such a big API. :-( And if we dropped a version of LW out there and said, oh, by the way, NONE of the third party plugins work anymore... well... I can't imagine that would be very good!

Some of the advantages that Mach-O provides are subtle. There is less 'glue code' to switch in and out of the OS calling conventions, so this provides some small speedups. There are more OS routines available, so this can provide some more efficient ways of doing low-level things (disk I/O, networking, Quartz display, etc.). One of the advantages is being able to use the GCC and IBM compilers which will probably, and that's a theoretical 'probably', be maintained a little more aggressively than say, CodeWarrior. If that is true, we would get better G5 compiler optimizations, which could be helpful to the efficiency of the rendering engine, or screen feedback, etc., without forcing us to do hand coded assembly which takes much longer to design, write, and debug - as you might guess.

I do not think Mac 3d Apps (or most for that matter) are really any slower, per se, however, traditionally, the hardware has been somewhat slower. When you compare the architecture of the whole system is where it gets tough to measure. CPU bus speeds impact things in strange ways, as well as caches and pipelines, etc. The G4 is a very powerful architecture, and with fewer Mhz it did a decent job against other CPU's - for CERTAIN things, like audio and video processing; but not as great for general purpose processing (in my opinion, of course). The G5 is an order of magnitude more powerful, super bus speeds, deep pipelines, lots of in-flight instruction processing, and again, at lower Mhz it does a great job. For example, in my experiences so far, the Dual 2Ghz G5 seems to be similar in 'work achieved' to a dual P4 2.8 Ghz HT Xeon. But, the Intel architecture is changing too. So it will get more powerful. However, the G5 has the POTENTIAL to be used as a 64 bit machine. That will add 'some' variation to the effectiveness, but it will not be utilized for quite some time. Not just by NewTek, but by everyone. The OS is NOT 64 bit, for example. And, 3D is much more processor intensive than data intensive, so... 64 bit is more significant when we look at scene size because we can address more RAM space (needed by zillions of polygons, and/or lots of textures), or if we are able to utilize SIMD processing in some ways using 128 bit registers, but there are only a few places in the algorithms that that makes any sense. So overall it is not as big an impact as we might think or hope for.

-Scott