an All Creative World site
Ivan's picture

Core Image Fun House

Line screen

Core Image part of Mac OS X 10.4 (Tiger) is a new technology which is going to change the game for graphic applications in the future. Simply put Core Image brings filters to the OS level and takes advantage of the graphics card in your Mac that is specialized to deal with graphics in comparison with the traditional method where applications were using the CPU to perform the same calculations. Using specialized hardware for special tasks is always the best way to improve performance and one might wonder, how come Core Image hasn't been invented earlier.

Once Core Image gets built into PhotoShop it's gonna fly no question about it. So far, no serious graphics application other than Apple's own software takes advatage of Core Image. However to test what the future holds for us you can install Xcode tools from the Tiger CD to get an application called Core Image Fun House in the Developer/ Applications/ Graphics Tools folder.

I wanted to do a comparison test of how fast PS CS performs agains Fun House. To my great surprise Fun House performed almost all filters on the fly, so there was no real point comparing anything. The most calculation intensive operations like Zoom Blur, which took more than a minute on PS with a huge 3000x3000 px image took less than 15 seconds on Fun House. Wish to see a proper comparative test on this subject.

There are about one hundred filters supported by Core Image. Until Adobe makes it happen, you can use Fun House to create some cool effects extremely fast, like the line screen example above.

Download my experimental screensaver that uses some Core Image technology. Put it under ~/Library/ Screensavers and activate it from the System preferences.

AttachmentSize
cb_feed.zip6.18 KB

Commenting on this Blog entry is closed.

Chris Burt's picture

Unfortunately this technology hasn't become popular for the same reason games like Doom 3 don't run on most machines. The instruction sets necessary to perform these operations on images aren't available on all graphics hardware. However, Apple knows exactly what cards are available for OSX users. That narrows the field quite a bit.

It would be wonderful if Photoshop was hardware accellerated, but it won't happen for a while I'm afraid. Thats just my opinion as someone who works frequently with OpenGL compatibility issues due to drivers and hardware.

zwei's picture
108 pencils

...cause it wouldn't be capable on the PC side. I hope I'm wrong.

zwei

Ian's picture

There wes nearly a decade where Adobe product weren't even available to the greater IBM community. Then they sold out. This would be a great improvement in the software 1) because my work would get done faster and 2) these buttholes I work for would actually have a reason to stock the graphics department with Macs.

Anonymous's picture

As I understand it Core Image will work on any G4 or higher. It just won't be GPU accelerated unless you have a supported card. Without the proper card the work gets done in the vector unit.

Anonymous's picture

I could be mistaken, but if I remember correctly, Steve Jobs said something similar to, "And just wait until Adobe builds this thing into Photoshop; it's gonna fly!" when he was introducing Tiger last Summer.

Other than cool factor, why would Apple pour money into a graphics technology that no other developer would use? Doesn't add up. This leads me to believe that Adobe is on the bandwagon OR Apple has something real funky up their sleeve. They are beginning to break out and replace apps with their own creations (ie. Pages and Keynote). Who knows? For me at least, Tiger gives speed increases everywhere, even in my games. w00t

Anonymous's picture

Thought you might be interested in what an Adobe engineer has to say about CoreImage. Could be a dose of reality for y'all. The following text is copied from a thread in the Mac Photoshop forum. It was posted by an Adobe engineer:

"Seriously, there are good reasons why Photoshop CS2 doesn't take
advantage of CoreImage out of the box, and why CoreImage doesn't live up
to the hype. It doesn't have anything to do with Windows parity, all
you paranoids !

Remember, CoreImage is built to try and take advantage of the GPU on the
display card. However, the back channel from the display card is real
slow right now - it'll take you longer getting the image to and from the
card than it would take you to process it on the CPU. And if you're
going to use the CPU, might as well use Chris' super-optimized routines.

Even if that problem were solved, there is still no repeatability from
card to card in terms of results. While that's fine for previews, it's
not terribly acceptable for real results.

What you end up with, then, is something that shows great in demos (and
may eventually be useful for previews or as a filter), but quickly ends
up not doing so well for real work."

You can start making up your conspiracy theories now, but keep in mind that on the Windows side of the Photoshop forum, the engineer who wrote the abovementioned optimized routines ("Chris" as in Chris Cox) has been accused by some of pro-Mac bias for defending the G5 as a Photoshop machine vs a PC. So much for platform bias.

Ivan's picture

Well if that is true, I'm disappointed. The test did run well, as you said. But oh well, PS runs very well on G5's already, so I'm not complaining.

tripdragon's picture
416 pencils

bull. How about adobe updates it's filters in the first place. I mean displace is STILL a shot in the dark feature, only can use greyscale .psds, cant place it visually have to asign it's cords 'before' you select it..... I can go on.. Adobe just does not need to update yet cause there is no competion for them to worry about.... :<
Now if a smart adventurous developer tinkered with gimp and core image,,, !

:D Dont get mad at me I use the PS app all day and just get miffed when I see a better tool coming from a smaller less know app and look at big PS and it.... bah :D

workys --->> http://filmsandwich.com/

Jerry Kindall's picture

I have a dual 2.5 GHz G5 with a GeForce Ultra 6800 DDL video cardl, and Core Image doesn't seem to work at all. No ripple when invoking Dashboard, no effects do anything in Fun House. System Profiler says Core Image is supported on both my displays, but nothing actually happens on either of them. If I Core Image won't run on a macho box like mine, it surely is hype. Something must be misconfigured, but I'll be damned if I know what it could possibly be on a fresh 10.4 install.

Ivan's picture

That's definitely a setting. Try look for something in Sys prefs... It doesn't run on my G3 PowerBook either, but that's normal. However it will definitely run on any G5.

Tigerstorm's picture
1009 pencils

Then it's something wrong either with your machine or the system/settings.. I think it's the last thing..

It's working on my G5 2.5 with 9600XT..

zydrius's picture
28 pencils

hi,

i was blown away experimenting with imaginator's possibility to record effect on image in quicktime movie:))

what are more apps using coreimage and corevideo?? the possibility to run quicktime movie as effect is something too:))

thats the visual future.

blackjack75's picture
2 pencils

I don't quite agree with the Adobe guy:

"However, the back channel from the display card is real
slow right now - it'll take you longer getting the image to and from the
card than it would take you to process it on the CPU"

The whole power of Core Image is scalabily and non-destructive effects. Buy a better graphic cards and it'll go faster. If you buy a better GPU, photoshop will stay just the same (provided the previous GPU was decent). And you might have noticed GPU's are increasing their power much faster than CPUs. Plus CoreImage doesn't forbid using the CPU, it uses whichever fits the correct situation, or both. I don't see why using two work-horses can be worse than one.

So the transfer time may be true when _applying_ a blur filter to an image once. But now Image you have dozens of layers each with it's own effect and you want to modify these in real time. The filter chain could be rendered all in the GPU. With Core Image you chain filters over filter and you only render the result ONCE.

I am currently writing an application that uses Core Image. ( http://www.chocoflop.com/ ) It's true that Core Image doesn't give magic results on lower end hardware (I work on an unaccelerated radeon 9200 ibook) but if you use it correctly you can get pretty decent results. Remember CoreImage fun house is said to have been written in less than a week. (Which is perfectly possible for an experienced dev).

I tried the paint feature in apps such as LiveQuartz but on my machine it just paints sparse points slowly instead of drawing smooth lines. I am pretty sure an accelerated machine will paint flawlessly. Anyone tried it? I am wondering.

That's because the developer just renders the whole thing in the same thread each time so if the machine isn't fast enough to paint a point at each pixel it just slows down and becomes rather painfull.

Using threads, generating intermediates and most of all chaining filters as much as possible before you render anything (if you have the time to) you can have good results. I don't think the painting speed in my app is much slower than what you get in the over-optimized photoshop. And that's unsupported hardware. I wish I could try it on a G5 with a better GPU. That at least is true for small images (screen sized). The bigger they get the more you see how powerfull photoshop is (try painting on a 10'000x10'000 pixels image with most CoreImage apps you can find today and you'll see what I mean. Photoshop can do it and keep being usable. But that's not CoreImage related. The guys at Adobe have been working on it for years, optimizing as much as possible. I am pretty sure that if you put as much effort into a CoreImage based app as was put on PhotoShop you'll get something amazing.

Well, I don't pretend I can do all that work myself, alone that I am. But Core Image is really the tool that allows a smaller developer to start such an otherwise very large project.

Creativebits is a blog about Creativity, Graphic Design, Adobe, Apple and other related subjects.

Featured Images

Do you need a great new logo?

If you need a logo for your company or product you can get it done with us.
In our logo store you can pick from over 28,000 pre-made logos that will be customized to your name for free or you can post a contest for us for just $250 and our designers from all over the world will submit dozens of logo design suggestions to your specific needs.

Marketplace