CoreImage FAQ

DXoverDY

macrumors 6502a
Original poster
Apr 19, 2005
810
0
Ok I've seen a lot of questions regarding CoreImage so I decided that maybe an FAQ of sorts would be a good idea. Could a moderator make this sticky if they find it useful? Also if anyone finds something wrong please PM me and i will update this original post rather than have a series of 6 pages to shuffle through for the corrections.

What is CoreImage?

CoreImage is a new technology in Mac OS 10.4 that allows for programmable graphics cards to be used to alter and perform effects on images.​

Why use the grapics card for image processing?

The math involved in altering images is very similar to what is already used in 3D acceleration. You can actually use the graphics card to process two dimensional images and do it incredibly fast because the graphics chip is built to handle that kind of math. Whereas your processor (G3, G4, G5) are general purpose processors, the graphics chip is designed to do very high level math functions very quickly. In some cases a graphics card can perform an operation several times faster than a general purpose processor (even with Velocity Engine). You can see why it might be useful. In fact Mac OS 10.3 (Panther) started this by introducing Quartz Extreme which does the window composition on the graphics card, it also powers Exposé.​

What applications support CoreImage?

At the moment it appears that for the most part only a few Apple applications support CoreImage right now. The catch with CoreImage is that it doesn't just work, the application has to be programmed with CoreImage in mind. So applications that could really benefit from it such as Photoshop or Premiere need to be written with CoreImage in mind before it'll do anything for the end user. Tiger takes advantage of it in a few situations such as screensavers, and notably Dashboard. You'll notice CoreImage takes a giant step forward in 3rd party applications in due time. The framework is there and now the developers can harness the technology and make it work for you. So while the benefits aren't here yet, they will be soon enough.​

What graphics cards support CoreImage?

Only graphics cards that support Shader 2.0 are supported by CoreImage. The reason is that you need a programmable graphics card. Essentially a DirectX 9 compatible card (they just have similar requirements). A programmable card allows for a shader language mini application to be sent to the graphics card, which then processes the language extremely fast and effeciently. Instead of the CPU doing any of the work, all the grunt work is done by the graphics card. This is primarily used in games right now, lots of particle effects (fire, snow, rain, water) in games are or can be rather shader applications.​

The following graphics cards are supported by CoreImage.

ATI Mobility Radeon 9600, 9700
ATI Radeon 9600 XT, 9800 XT, X800 XT
nVidia GeForce FX Go 5200
nVidia GeForce FX 5200 Ultra
nVidia GeForce 6800 Ultra DDL, 6800 GT DDL

This list is not complete, there could be other cards, but it appear we may have to wait until Tiger is fully released from the cage to determine fully which cards are supported and which are not. The list above was a combination of others telling me their card was supported and a list from Apple themselves. Also any derivitives of the cards mentioned above should be supported, such as any 9800, any 9600, etc.

A few noteworthy cards that are not supported are the current iBook and Mac Mini cards, the ATI Radeon 9200, is not supported by CoreImage.

http://www.apple.com/macosx/features/coreimage/

How do I find out what graphics card is in my computer?

Open a new Finder window, navigate to Applications, then to Utilities, and then run the application called System Profiler. Once there it should give you some information on your computer, then goto http://www.apple-history.com and compare notes with your computer. That website will tell you what graphics card you have.​

I don't understand, break it down for me, is my machine supported?

Knowing the information above, the following machines are supported. This only applies to stock configuration machines, if you've upgraded your video card in a PowerMac read the section above about supported graphics cards, this will not apply to you.

Last Updated: April 21, 2004

Supported PowerMacs
(June 2003-June 2004)
PowerMac G5 Single 1.6Ghz (NVIDIA GeForce FX 5200 Ultra
PowerMac G5 Single 1.8Ghz (NVIDIA GeForce FX 5200 Ultra
PowerMac G5 Dual 1.8Ghz (NVIDIA GeForce FX 5200 Ultra
PowerMac G5 Dual 2.0Ghz (ATI Radeon 9600)

(June 2004-May 2005)
PowerMac G5 Single 1.8Ghz (NVIDIA GeForce FX 5200 Ultra)
PowerMac G5 Dual 1.8Ghz (NVIDIA GeForce FX 5200 Ultra)
PowerMac G5 Dual 2.0Ghz (ATI Radeon 9600)
PowerMac G5 Dual 2.5Ghz (ATI Radeon 9600XT)

(May 2005-Present)
PowerMac G5 Single 1.8Ghz (NVIDIA GeForce FX 5200 Ultra 64mb)
PowerMac G5 Dual 2.0Ghz (ATI Radeon 9600 128mb)
PowerMac G5 Dual 2.3Ghz (ATI Radeon 9600 128mb)
PowerMac G5 Dual 2.7Ghz (ATI Radeon 9600 128mb)

Supported iMacs
(September 2003-July 2004)
iMac G4 1.25Ghz (GeForce FX 5200 Ultra)

(August 2004-April 2005)
iMac G5 1.6Ghz (NVIDIA GeForce FX 5200 Ultra)
iMac G5 1.8Ghz (NVIDIA GeForce FX 5200 Ultra)

(May 2005-Present)
iMac G5 1.8Ghz (ATI Radeon 9600 128mb)
iMac G5 2.0Ghz (ATI Radeon 9600 128mb)

Supported PowerBooks
(September 2003-April 2004/Revision B)
PowerBook G4 12.1" (NVIDIA GeForce FX Go5200)
PowerBook G4 15", 17" (ATI Mobility Radeon 9600)

(April 2004-January 2005/Revision C)
PowerBook G4 12.1" (NVIDIA GeForce FX Go5200)
PowerBook G4 15", 17" (ATI Mobility Radeon 9700)

(January 2005-Present/Revision D)
PowerBook G4 12.1" (NVIDIA GeForce FX Go5200)
PowerBook G4 15", 17" (ATI Mobility Radeon 9700)

Supported eMacs
(May 2005-Present)
Combo Drive 1.42Ghz G4 (ATI Radeon 9600 64mb)
Super Drive 1.42Ghz G4 (ATI Radeon 9600 64mb)

No iBooks are Supported

No Mac Minis are Supported

I think this is complete, if something is wrong, let me know.

What if my graphics card isn't supported by CoreImage?

If your graphics card is not supported by CoreImage then Apple provided a fallback option. You'll still be able to use CoreImage but your CPU will do the work instead of the graphics card. This will obviously be slower than the GPU in most cases however it's still very functional with a few catches. One of those catches is that you won't have all the pretty effects and eyecandy you would if you had a supported graphics card. One such effect is the "Ripple Effect" that is so often used as an example. The Ripple effect actually requires a programmable graphics card due to the nature of the effect, it could be rendered in the CPU fallback but it would be so horribly slow it wouldn't be worth it. Because of this Apple makes certain effects unavailable to the CPU fallback option. I have no real information on whether this is up to the programmer or if CoreImage decides on it's own though. It might just be that Apple decided to make this particular effect only work for supported GPU's, meaning they determine you don't have a supported card then the effect is turned off despite the CPU being able to do it, just slowly.

For those who are wondering where I obtained the information on the ripple effect not being present, Your Mac Life (www.yourmaclife.com) did an interview with an Apple engineer about the Mac Mini, who stated that the ripple effect is turned off if a supported graphics card is not available.

http://www.yourmaclife.com/article.php?story=20050413201334153

What about Video RAM requirements?

The amount of required video ram required to operate CoreImage is 32 megabytes. However performance may suffer because of it. 64 megabytes is probably the minimum you should have, while 128 megabytes is recommended. Don't let this fool you though, unless you are going to take advantage of CoreImage in many applications 64 megabytes would be more than sufficient. If you plan to operate multiple displays 128 megabytes is definitely recommended.​
 

mkrishnan

Moderator emeritus
Jan 9, 2004
29,641
12
Grand Rapids, MI, USA
Nice contribution...it's going to be so much fun, comparing notes next weekend as we all figure out Tiger. :D

I haven't used XBench, but I ought to start a comparisons thread....
 

Applespider

macrumors G4
Good job in condensing that into once post.

I wonder whether it would be worthwhile adding something to tell people how to find out what their graphics card is (either through System Profiler or for the less technically minded by going to the apple-history site) - or emphasising those recent Macs which we know for sure didn't ship with a GPU that can take advantage of CI (the iBooks, eMacs and Minis)
 

Catfish_Man

macrumors 68030
Sep 13, 2001
2,579
1
Portland, OR
Thank you. I think I may bookmark that so that I don't have to keep retyping essentially the same information all the time, I can just link them to your (more complete and readable) explanation :)

A possible expansion would be a "What's Quartz 2D Extreme and how is it related to Core Image", basically saying something like "Q2DE extends the GPU acceleration introduced with Quartz Extreme to the rest of Quartz, which will provide speed improvements without any extra effort by programmers. It is apparently off by default in 10.4.0. The main difference between it and Core Image is that one is using the GPU to transform images, while the other uses it to speed up normal drawing. It can currently be turned on and off using the Quartz Debug program included with the developer tools." (suitably rephrased and de-acronymed, of course :) )
 

aswitcher

macrumors 603
Oct 8, 2003
5,351
14
Canberra OZ
Yeah, great post.

It would be nice to eventualy get some performance stats on different cards and what difference there is between ram sizes.
 

Cooknn

macrumors 68020
Aug 23, 2003
2,111
0
Fort Myers, FL
ATI Radeon 9600 Pro

DXoverDY said:
Only graphics cards that support Shader 2.0 are supported by CoreImage. The reason is that you need a programmable graphics card.
The following graphics cards are supported by CoreImage.

ATI Mobility Radeon 9600, 9700
ATI Radeon 9600 XT, 9800 XT, X800 XT
nVidia GeForce FX Go 5200
nVidia GeForce FX 5200 Ultra
nVidia GeForce 6800 Ultra DDL, 6800 GT DDL
The ATI Radeon 9600 Pro (came with the Power Mac G5) supports Shader 2.0. I don't believe your list of supported cards is exclusive.
 

Bear

macrumors G3
Jul 23, 2002
8,089
4
Sol III - Terra
GPU List is not all-inclusive...

DXoverDY said:
....
The following graphics cards are supported by CoreImage.

ATI Mobility Radeon 9600, 9700
ATI Radeon 9600 XT, 9800 XT, X800 XT
nVidia GeForce FX Go 5200
nVidia GeForce FX 5200 Ultra
nVidia GeForce 6800 Ultra DDL, 6800 GT DDL
...
Apple published their list as "Core Image-capable graphics cards include:", therefore, there are other cards that aren't listed that are/will be supported by Core Image.

Maybe if the FAQ could be edited to show this modified wording? (Mostly "include" instead of sounding definitive in the wording.) Apple pretty much just listed the current GPUs they were shipping. The ATI 9700 Mac Edition should also work just fine under Core Image as well as the ATI X800.
 

Platform

macrumors 68030
Dec 30, 2004
2,881
0
Cooknn said:
The ATI Radeon 9600 Pro (came with the Power Mac G5) supports Shader 2.0. I don't believe your list of supported cards is exclusive.
Yes I think that is just the current line up cards....I think that the 9800 non XT is alos supported :rolleyes:
 

DXoverDY

macrumors 6502a
Original poster
Apr 19, 2005
810
0
Yea I am just now editing it to contain info on those cards.. i know it isn't exclusive, just an oversight not mentioning it. I'll place a "known supported cards" kind of comment in there.

I will also add information on how to find out what your card is. I was going to do that but somehow forgot it. Thanks for the comments. If there's anything else in there that's missing, feel free to let me know.
 

Bear

macrumors G3
Jul 23, 2002
8,089
4
Sol III - Terra
DXoverDY said:
Yea I am just now editing it to contain info on those cards.. i know it isn't exclusive, just an oversight not mentioning it. I'll place a "known supported cards" kind of comment in there.

I will also add information on how to find out what your card is. I was going to do that but somehow forgot it. Thanks for the comments. If there's anything else in there that's missing, feel free to let me know.
It might be worthwhile listing major GPUs that came with Macs that aren't supported and ones that are partially supported.

For instance, the GeForce 4 Titanium 128MB VRAM that was a CTO option on the MDDs is not DirectX 9 - it's only DirectX 8.1 so it doesn't have full functionality in Core Image, but there should still be some acceleration with it.
 

DXoverDY

macrumors 6502a
Original poster
Apr 19, 2005
810
0
Bear said:
It might be worthwhile listing major GPUs that came with Macs that aren't supported and ones that are partially supported.

For instance, the GeForce 4 Titanium 128MB VRAM that was a CTO option on the MDDs is not DirectX 9 - it's only DirectX 8.1 so it doesn't have full functionality in Core Image, but there should still be some acceleration with it.
Where did you get this info from? From my understanding, to get CoreImage support you need a graphics card that supports the Shader Language 2.0 specs. I didn't know there were "partially supported" cards, they either did it all or did nothing. However Quartz Extreme is supported by every graphics card, but that doesn't apply to CoreImage.
 

mkrishnan

Moderator emeritus
Jan 9, 2004
29,641
12
Grand Rapids, MI, USA
Applespider said:
Not according to those with Mobility Radeon 9600 in their 1.25Ghz Powerbooks who are cheerfully rippling...
So is rippling going to be the basic standard of whether or not you have hardware coreimage support? :D Doesn't Tiger system profiler or some ioreg entry or something tell you this more definitively (post-hoc)?
 

DXoverDY

macrumors 6502a
Original poster
Apr 19, 2005
810
0
mkrishnan said:
So is rippling going to be the basic standard of whether or not you have hardware coreimage support? :D Doesn't Tiger system profiler or some ioreg entry or something tell you this more definitively (post-hoc)?
yea i believe it's a pretty good indicator of whether or not you have a CoreImage supported graphics card. I'm going to mess around with system profiler in a little bit and work up a section on how to determine your graphics card using system profiler. i got some things to do before i can get to that though.
 

Applespider

macrumors G4
mkrishnan said:
So is rippling going to be the basic standard of whether or not you have hardware coreimage support? :D Doesn't Tiger system profiler or some ioreg entry or something tell you this more definitively (post-hoc)?
I seem to recall reading somewhere (since I've been good and not d/l) that there is a Core Image support 'Yes/No' somewhere in System Profiler - Extensions(?).

But it's quicker and more fun to drop a widget and see if anything happens... :D I'm going to want to play in Dashboard before I get bored enough with Tiger to start reading the System Profiler. ;)
 

ShermDog

macrumors regular
Mar 15, 2004
106
0
Chicago
So, the list of supported GPU's is not exclusive. Can anyone tell me if the Radeon 9800 Pro SE (256MB) will support coreimage?

I just read the specs for this card on ATI's website, and it supports SmartShader 2.1. Hope that means it will work with coreimage.
 

DXoverDY

macrumors 6502a
Original poster
Apr 19, 2005
810
0
ShermDog said:
So, the list of supported GPU's is not exclusive. Can anyone tell me if the Radeon 9800 Pro SE (256MB) will support coreimage?

I just read the specs for this card on ATI's website, and it supports SmartShader 2.1. Hope that means it will work with coreimage.
that list isn't exclusive, but it includes pretty much all derivitives of those cards. if a 9800 is supported, then any derivitive of the 9800 should work. unless it is a lessor card. your card would be supported, yes.
 

mkrishnan

Moderator emeritus
Jan 9, 2004
29,641
12
Grand Rapids, MI, USA
Applespider said:
But it's quicker and more fun to drop a widget and see if anything happens... :D I'm going to want to play in Dashboard before I get bored enough with Tiger to start reading the System Profiler. ;)
Oh, don't get me wrong; I'm pretty sure my computer *won't* make the ripple effect, and *I'll* still spend quite a bit of time doing that. :D