Wednesday, October 31, 2007, 11:00 am
An Introductory Mac OS X Leopard Review: Core Graphics and the New UIBeyond the desktop and main applications in Mac OS X 10.5 Leopard, its most obvious advancements are related to graphics and the underlying performance improvements that speed up everything being displayed on the screen. There are a number of aspects to why Leopard's graphics feels faster, and some interesting notes on how the graphical user interface is changing in Leopard. Here's a look at how everything works.
Mac OS X Leopard pairs together a number of technologies developed inside and outside of Apple. Here's where they came from and how Leopard is leveraging open standards to improve its performance in graphics and video.
In the beginning was QuickDraw
The original Macintosh used a procedural graphics programing interface called QuickDraw to paint everything on the screen. It mapped graphics into a rasterized grid of square pixels, with a set 72 pixels per inch density. That allowed applications to accurately represent how things would look on the printed page.
Bill Atkinson's QuickDraw also invented the concept of Regions, which among other things allowed drawn content to be clipped into a window and presented in the familiar and intuitive desktop environment of overlapping windows. Andy Hertzfeld described the importance of Regions in Folklore.org - I Still Remember Regions.
One of the most impressive aspects of QuickDraw was that it could run on the limited hardware commercially available in 1984. Systems like the Commodore Amiga and Atari computers used hardware-assisted graphics, while the Mac did everything in software. That gave an early performance edge to other systems, but allowed Apple to rapidly port its graphics technology to new hardware as it became available, rather than being tied directly to the hardware architectures of obsolete chips.
After developing the color-capable QuickDraw II to provide a windowing environment for the Apple IIGS, Apple introduced Color QuckDraw for the Mac, and later 32-bit QuickDraw. Those advancements cemented Apple's lead in the markets for graphics and print. QuickDraw also acted as the foundation of QuickTime, as noted in Road to Mac OS X Leopard: QuickTime, iTunes, and Media Features.
After researchers at Xerox PARC invented laser printing in mid 70s, they began work on a standardized page description language called InterPress. In 1982, John Warnock and Chuck Geschke left Xerox to form Adobe, and simplified the InterPress language into a commercial product called PostScript. Steve Jobs urged Adobe to adapt PostScript for use as the standard language for laser printing, and in 1985, Apple shipped the LaserWriter (below) as the first PostScript printer.
In order to print to the much higher resolution 300 dpi LaserWriter, QuickDraw drawing commands needed to be translated into the PostScript language, which was then sent to the printer for rasterizing at high resolution. Because Adobe's PostScript wasn't cheap to license, Apple later delivered some lower-end QuickDraw printers that used the Mac's internal drawing language to plot out a higher resolution version of the screen for printing.
However, PostScript became the professional standard for raster image processing, and a key cornerstone of Jobs' Macintosh Office plan described in Steve Jobs and 20 Years of Apple Servers, which initially launched the Mac and created the desktop publishing industry. At its launch, the LaserWriter was the most powerful computer Apple sold, because it required so much processing power to rasterize graphics at high resolution.
And at NeXT: Display PostScript
By the time Jobs left Apple and began putting together the NeXT platform in the late 80s, technology had increased dramatically. Sun had developed a windowing system called NeWS, the Network extensible Window System, that adapted PostScript to drive the entire graphical interface. While technically sophisticated, NeWS failed to gain much traction for a number of reasons, including its complexity for developers and performance issues.
NeXT began parallel efforts with Adobe to develop an alternative display system called Display PostScript. Rather than running the entire window system using PostScript as NeWS did, DPS only used it for drawing. NeXT and Adobe created a DPS specification that could be used by other vendors, who commonly paired it with MIT's bare bones X Window System.
For NeXTSTEP however, NeXT created its own window server that tied into the rest of the system's object oriented development frameworks and made application development much simpler. DPS never became popular on X11 because of the noxious fumes of the convoluted glue between it and the underlying windowing system.
On NeXT however, DPS was a key feature as it enabled the system to deliver more accurate printing, because there was no translation between QuickDraw and PostScript. In addition, the NeXT computer itself could render pages for the much simpler laser printer NeXT sold, saving the added expense of another entire computer built into the printer itself.
3D Drawing: IRIX GL and Pixar
In parallel with the development of PostScript for use in 2D graphics, Unix workstation vendor Silicon Graphics, Inc. pioneered the development of high end graphics workstations used in computer animation and scientific visualization. In 1988, SGI introduced IRIX 3.0, which paired AT&T's Unix with SGI's 4Sight windowing system (below), based on Sun's NeWS and SGI's own IRIS Graphics Language for 3D graphics.
Prior to starting NeXT, Jobs also purchased the computer graphics division of George Lucas' LucasFilm in 1986 to form Pixar. That company pioneered the development of computer graphics, releasing the Pixar Image Computer (below) as a $135,000 state of the art graphics rendering system that was used alongside a $35 workstation from SGI or Sun. Pixar's system also used NeWS internally.
The extremely small market for such high end graphics processing resulted in Pixar selling off its hardware business in 1990 to move into software sales of its RenderMan product, along with CGI work for commercials. Pixar's biggest customer for its high end systems was Disney; in 1991, Pixar maintained its relationship with Disney in a deal to develop a series of computer generated feature films, resulting in Toy Story in 1995, followed by a series of pioneering CGI films that pushed the boundary of graphics technology.
That same year, SGI dropped support for NeWS and moved to X11, and by 1993 was hosting support for DPS on top of X11. The real value SGI offered, however, was in its IRIS GL. In 1992, SGI made a pioneering step to launch its graphics technology as an open, interoperable standard under the name OpenGL.
IRIS GL had included support for an entire windowing system developed prior to NeWS and X11; after removing this support, SGI released the new OpenGL specification under the OpenGL Architecture Review Board consortium, and it rapidly became the professional standard for 3D graphics.
NeXT and Apple: Quartz
After acquiring NeXT, Apple began work on merging its own graphics assets into the foundation of NeXT's DPS-based graphics system. A key problem was that DPS was expensive to license from Adobe. NeXT had sold its software for $700 per seat, while Apple's consumer-oriented installed base couldn't be expected to pay more than around $100 for an operating system, leaving little room for expensive licensed technologies.
Apple determined that the X11 system that most other Unix workstation vendors had settled on by the mid 90s would not supply enough of a foundation to cover the features it wanted in its new system. Adding those features to X11 would have resulted in a a non-standard version of X11 that would not be compatible with other system anyway, but which incorporated a lot of design tradeoffs that would needlessly complicate and slow its performance. Instead, Apple began work on what would be called Quartz.
Rather than using the PostScript language, Quartz used the drawing model of Adobe's Portable Document Format. PDF is a file format containing resolution independent drawing information that can be the interpreted results of a PostScript program. However, Quartz didn't just swap out PostScript for PDF to become Display PDF. Instead, Apple wrote an entirely new graphics engine using the mature and highly regarded PDF model.
On page 2 of 2: Mac OS X 10.0 Quartz; Mac OS X 10.2 Jaguar: Quartz Extreme; Mac OS X 10.4 Tiger: Quartz 2D Extreme; What's New in Mac OS X 10.5 Leopard; and Leopard User Interface.