A software engineer working on Adobe Photoshop says the company's decision not to deliver native Intel Mac support until the next major release of its high-end graphics suite is a result of the enormous task associated with switching to Apple Computer's Xcode development environment.
"When that original [68K to] PowerPC transition was done, Apple did something clever. Very clever," Adobe engineer Scott Byer wrote in a posting on his Web site. "The emulator that ran 68k code would recognize when it was calling out to PPC code, and would fiddle with things on the stack using the Universal Procedure calling vector."
This enabled Adobe to replace many of its 68k "heavy lifting" routines with PPC native versions through plug-ins that were distributed to customers.
"With a plug-in, Photoshop [was able to] get a majority of the speed up as if it were a fully native application, but — and it's a key point here — without having to recompile the vast majority of the Photoshop code, along with the resulting testing hit, mounds of debugging, and everything else that would imply," Byer wrote. "Doing that this time around was just not possible for a variety of reasons."
In order for developers to properly build a Universal Binary — a version of an application that will run natively on both PowerPC and Intel Macs — they'll need to transition their application's codebase to Apple's Xcode development environment. [What this] means is that this time, there's no limited-cost option for getting most of the performance available on the platform for Photoshop in a short amount of time" Byer wrote. "In other words, no shortcuts."
"That leaves doing the work for real — taking the whole application over into XCode and recompiling as a Universal Binary," Byer continued. "And that's no small task."
Since Apple's Xcode is a relatively new development environment, it had previously been unsuitable for use in the development of extremely large projects with large numbers of files that open quickly, Byer explained. So instead, Adobe has so far relied on development environments from Visual Studio and Metroworks, which also feature more compact debugging information and more stable project formats that are text-merge-able in a source control system.Â
"These are things XCode is playing catch-up on," said Byer. "Now, Apple is doing an amazing job at catching up rapidly, but the truth is we don't yet have a shipping Xcode in hand that handles a large application well. And switching compilers always involves more work than you would think in a codebase of this size."
It wouldn't "make any sort of sense" for Adobe to release a Universal Binary of Photoshop CS2, the current version of the company's software suite, the engineer contends.
"If you think about switching tool sets, with the resulting huge amount of work for both engineering and quality engineering, if you think about how far past the Photoshop CS2 release we already are, and if you include not having the workstation-class machines ready yet, I think you'd have to agree," Byer wrote. "[It's] far better to focus on making sure Photoshop CS3 is able to absolutely squeeze every ounce of power out of what I'm sure will be pretty spankin' Intel-based towers by that point than to do tons of work moving an old code base to new tools."
69 Comments
sounds valid......?
The moral of the story: If you HAVE to have a fast Photoshop, stay with PPC for now...and save your money.
I can't understand why they just now came out with this article, unless it's to give credence it.
I've quoted this article almost a week ago in our own threads.
I'll post the link again, with the related one.
http://blogs.adobe.com/scottbyer/200...osh_and_t.html
http://blogs.msdn.com/rick_schaut/ar...24/560461.aspx
We've been having a rather heated discussion about this issue.
There are just a couple of people here who think Adobe is dragging their feet. I don't agree.
Does anyone know why you have to use Xcode to build a Universal Binary?
Because Apple are barstards. They knew there was a possibility to need to run a universal binary capable xcode enviroment ever since os x development stages. they have had a lot of time to ready themselves for that.
None of the other development software "people" have had the time NOR will they ever, they will need to spend a lot of time updating their libraries. Its no mean feat.