Core Image

From Mac Guides

Jump to: navigation, search
This article or section is based on a forum post written by DXoverDY.


Core Image is a new technology in Mac OS X 10.4 (Tiger) that allows for programmable graphics cards to be easily used by developers to alter and perform effects on images.

Apple's Core Image Logo
Enlarge
Apple's Core Image Logo

Contents

Advantages to using a graphics card

The math involved in altering images is very similar to what is already used in 3D acceleration. Therefore, there are ways of using the graphics card to process two dimensional images and do it incredibly quickly because the graphics chip is built to handle that kind of math. Whereas your CPU (G3, G4, or G5) is a general purpose processor, the graphics chip (often called a GPU) is designed to do very high level math functions very quickly; in some cases a GPU can perform an operation several times faster than a general purpose processor (even with Velocity Engine). The use of the GPU in such a way began in Mac OS X 10.2 (Jaguar), when Apple introduced Quartz Extreme. Quartz Extreme uses the graphics card to handle window composition and also powers Exposé in Mac OS X 10.3 (Panther).

How Core Image Works

In essence Core Image does exactly what a game does. The first step is to create an OpenGL canvas on the graphics card which is then populated with the images and shapes that make up the opearting system. This is then rendered and displayed to the screen.

Because everything is contained on the graphics card's memory, objects can be reused repeatedly therefore speeding up all processes. As an example, all the images in the Dock are easily accessed and rendered on every pass because they are residing locally.

Another area that assists the speed are the large "pipes" or data paths from the memory to the GPU. Generally on modern graphics cards these pipes are in the range of 12 Gb/s or higher. Previously when moving from the machines memory to the CPU where the rendering was done and then onto the graphics card to display pipes may have been in the 400 Mb/s range (PowerBooks) thereby seriously affecting the overall performance of the machine.

Software that uses Core Image

Currently Core Image is most commonly used by several Apple applications (including Dashboard and several screensavers in Tiger) but is in limited use by third parties. This is because an application has to be specifically programmed with Core Image in mind, so legacy code in applications such as Photoshop and Premiere (which could benefit from Core Image) must be rewritten.

Aperture, Apple's new professional-level image editing software fully utilizes Core Image for editing digital images within the program.

Core Image is likely to face increased adoption in third party applications with time. The technology is there for developers to harness, but it will take time to rewrite legacy code or write new applications to use the Core Image frameworks.

Requirements

Supported graphics cards

Only graphics cards that support Shader 2.0 are supported by Core Image, due to its requirement of a programmable graphics card. Essentially a DirectX 9/OpenGL 1.5 compatible card will be suitable, as they have similar requirements. Note: Some cards like the Geforce 4Ti claim that they are programable, but use very basic programability. Core Image is too sophisticated for such cards, and therefore is not supported.

A programmable card allows for a shader language mini application to be sent to the graphics card, which then processes the language extremely quickly and efficiently. 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 shader applications.

The following desktop graphics cards are supported by Core Image.

  • ATI Radeon R300 core (Radeon 9600, 9600 XT, 9650, 9700 Pro, 9800 Pro, 9800 XT, X600 Pro, X600 XT).
  • ATI Radeon R420 core (Radeon X800 XT, X850 XT)
  • ATI Radeon R520 core (Radeon X1600, X1900 XT)
  • nVidia GeForce FX Series (FX 5200 Ultra)
  • nVidia GeForce 6 series (6600 LE, 6600, 6800 Ultra DDL, 6800 GT DDL)
  • nVidia GeForce 7 series (7300 GT, 7800 GT)
  • nVidia Quadro FX 4500
  • Intel GMA 900 (Development Transition Kits)
  • Intel GMA 950 (Mac Mini and MacBook)

The following mobile graphics cards are supported by Core Image.

  • ATI Mobility Radeon 9550, 9600, 9700
  • ATI Mobility Radeon X1600

The following graphics cards are supported by Core Image but have poor performance.

Determining if your computer supports Core Image

To determine if your computers supports Core Image, open the System Profiler application located at /Applications/Utilities/System Profiler. System Profiler can also be accessed by clicking on the More Info... button in the About This Mac window. Once there, access the Hardware->Graphics/Displays profile. One of the lines here will tell you if your computer is supported by Core Image.

Supported Computers

The following is a list of all Apple Macs which support Core Image. All current Mac's support Core Image and have done since February 2006.

Last Updated: Sept 2006

Mac Pro

August 2006-Present

  • Mac Pro 2 GHz/ 2.66 GHz/ 3 GHz (GeForce 7300 GT, Radeon X1900 XT, Quadro 4500)

PowerMacs

June 2003-June 2004

  • PowerMac G5 Single 1.6 GHz (NVIDIA GeForce FX 5200 Ultra)
  • PowerMac G5 Single 1.8 GHz (NVIDIA GeForce FX 5200 Ultra)
  • PowerMac G5 Dual 1.8 GHz (NVIDIA GeForce FX 5200 Ultra)
  • PowerMac G5 Dual 2.0 GHz (ATI Radeon 9600)

June 2004-May 2005

  • PowerMac G5 Single 1.8 GHz (NVIDIA GeForce FX 5200 Ultra)
  • PowerMac G5 Dual 1.8 GHz (NVIDIA GeForce FX 5200 Ultra)
  • PowerMac G5 Dual 2.0 GHz (ATI Radeon 9600)
  • PowerMac G5 Dual 2.5 GHz (ATI Radeon 9600XT)

May 2005-October 2005

  • PowerMac G5 Single 1.8GHz (NVIDIA GeForce FX 5200 Ultra)
  • PowerMac G5 Dual 2.0 GHz (ATI Radeon 9600)
  • PowerMac G5 Dual 2.3 GHz (ATI Radeon 9600)
  • PowerMac G5 Dual 2.7 GHz (ATI Radeon 9650)

October 2005-August 2006

  • Powermac G5 Dual-core 2.0 GHz (NVIDIA Geforce 6600 LE)
  • Powermac G5 Dual-core 2.3 GHz (NVIDIA Geforce 6600)
  • Powermac G5 Quad 2.5 GHz (NVIDIA Geforce 6600)

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-October 2005

  • iMac G5 1.8GHz (ATI Radeon 9600)
  • iMac G5 2.0GHz (ATI Radeon 9600)

October 2005-January 2006

  • iMac G5 1.9GHz iSight (ATI Radeon X600 Pro)
  • iMac G5 2.1GHz iSight (ATI Radeon X600 XT)

January 2006-August 2006

  • iMac Core Duo 17" (ATI Mobility Radeon X1600)
  • iMac Core Duo 20" (ATI Mobility Radeon X1600)

August 2006-Present

  • iMac Core 2 Duo 17" (ATI Mobility Radeon X1600)
  • iMac Core 2 Duo 20" (ATI Mobility Radeon X1600)
  • iMac Core 2 Duo 24" (NVIDIA 7300GT, NVIDIA 7600GT)

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-October 2005/Revision D

  • PowerBook G4 12.1" (NVIDIA GeForce FX Go5200)
  • PowerBook G4 15", 17" (ATI Mobility Radeon 9700)

October 2005-January 2006/Revision E

  • PowerBook G4 12.1" (NVIDIA GeForce FX Go5200)
  • PowerBook G4 15", 17" (ATI Mobility Radeon 9700)

eMacs

May 2005-July 2006

  • Combo Drive 1.42GHz G4 (ATI Radeon 9600)
  • Super Drive 1.42GHz G4 (ATI Radeon 9600)

iBooks

July 2005-May 2006

  • iBook G4 12" (ATI Mobility Radeon 9550)
  • iBook G4 14" (ATI Mobility Radeon 9550)

MacBook

May 2006-Present

  • MacBook 13.3" (Intel GMA 950)

Mac minis

February 2006–Present

  • Mac mini Core Solo (Intel GMA 950)
  • Mac mini Core Duo (Intel GMA 950)

MacBook Pros

January 2006–Present

  • MacBook Pro Core Duo 15.4"/ 17" (ATI Mobility Radeon X1600)


Video RAM requirements

The amount of required video RAM (or VRAM) required to operate Core Image is 32 MB, although this may result in sub-optimal performance. 64 MB is the recommended minimum you should have (and is sufficient for most users), while 128 MB is recommended for best performance for pro users. If you plan to operate multiple displays 128 MB is definitely recommended.

Fallback option for unsupported computers

Apple has provided a fallback option for computers without graphics cards supported by Core Image. You'll still be able to use Core Image 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 functional with a few exceptions. One of these is that you won't see all the effects and eye candy you would if you had a supported graphics card (such as the Ripple effect when opening a Dashboard widget). The Ripple effect requires a programmable graphics card due to the nature of the effect, and although it could theoretically be rendered by the CPU, it would be so horribly slow that it wouldn't be worth it. Because of this Apple makes certain effects unavailable to the CPU fallback option.

Links

Apple's Core Image page