Out of curiosity, what's the name of the thing or things --I'm so tech-savvy--that powers 2D performance? Does OpenGL also contribute to it to some small extent?
OpenGL only contributes to 2D performance when it is invoked via a compositing engine, such as Quartz. (Side note: There was, at one time, a set of technologies called Quartz 2D Extreme, but no mention of them has been made since their initial appearance in Quartz Debug, part of Xcode.) The biggest factor in 2D performance for a GPU is the speed of its RAMDAC, though - this chip does, among other things, convert digital signals to analog for CRTs to use.
OpenGL is used quite a lot in drawing the 2D images on your Mac's screen. To start with let me explain how things get drawn (I might skip features that are not relevant to how things are drawn like event handling).
Quartz Compositor (aka "WindowServer" in Activity Viewer) - This is the overall controller of what gets drawn on the screen, every renderer system sends it's information to Quartz Compositor and then Quartz Compositor draws the final image onto the screen. No matter what renderer you use you cannot bypass Quartz Compositor. Quartz Compositor works with bitmap files only (the most basic of image formats).
To draw images you can use a number of different renderers depending on what you are doing. The main ones are Quartz 2D, OpenGL, Core Image & QuickTime.
The process works like this, all of the renderers draw one single frame save it as a bitmap and send it to Quartz Compositor. Quartz Compositor will take all these frames and build up these individual images into the final image you see on your screen.
For example lets say you have a Quicktime video playing and have finder open with two windows open and no files on your desktop.
- Finder will render the two folders as two images and send them to the compositor (Quartz 2D Renderer)
- Your desktop background will also be sent as an image to the compositor (Quartz 2D Renderer)
- QuickTime will render the current frame of the video and also send that to the compositor as an image. (QuickTime Renderer)
- Quartz Composter will take all these images and combine them into one image which is what your desktop looks like and send this to the card which in turn makes it appear on your screen.
The individual renders have the following hardware accelerated statuses.
Quartz2D - software only.
OpenGL - hardware accelerated on graphics card
Core Image* - hardware accelerated on certain graphics cards
QuickTime* - hardware acceleration on certain cards when using certain codecs
Quartz2D has a new technology called Quartz 2D Extreme which was designed to hardware accelerate the rendering but it is currently not available in anything bug debug mode as it has side effects.
As you can see the rendering of a single window is still not hardware accelerated at the current time and is done using the CPU.
Once all these images are collated Quartz Compositor creates one overall image for your monitor to display, Quartz Compositor DOES use OpenGL** very heavily when combining these images, this allows you to have a very fast response to moving windows around and other similar tasks by not having to use the CPU at all and running everything on the GPU using OpenGL instead.
How it works is instead of combining all the images on the computer and sending one image to the graphics card it sends all the different parts of the image and gets the card to combine them using OpenGL then drawing the result to your monitor. As OpenGL and graphics cards are optimised to do things like this it is a lot faster than doing it all manually every frame on your CPU.
To summarise drawing of individual finder windows etc does not use OpenGL and is not hardware accelerated at this time, but the combining of all the windows to draw what you finally see on the screen is hardware accelerated using OpenGL.
Hope that all makes sense
Edwin
*Might use small bits of OpenGL but I have not checked either way
** Before 10.2 Quartz Compositor was not hardware accelerated using OpenGL and as a result the windowing system was very noticeably slower.