Affiliate Disclosure
If you buy through our links, we may get a commission. Read our ethics policy.

OpenGL 2.1 may double performance under Leopard

A new implementation of the OpenGL industry-standard interface for developing portable, interactive 2D and 3D applications could offer as much as a twofold increase in performance when running under Apple Computer's forthcoming Leopard operating system.

OpenGL improvements

According to a post on Apple's developer website, Mac OS X 10.5 Leopard will support the latest OpenGL 2.1 specification which adds pixel buffer objects, color managed texture images in the sRGB color space, and improvements in the shader programming API.

"Leopard also provides a dramatic increase in OpenGL performance by offloading CPU-based processing onto another thread which can then run on a separate CPU core feeding the GPU," the company told developers. "This can increase, or in some cases, even double the performance of OpenGL-based applications."

QuickTime enhancements

Meanwhile, Apple said improvements to QuickTime in Leopard will offer developers an easy way to build video capture into their applications.

By using the QTKit Capture API (application programming interface), developers will be able to instruct their applications to capture video from an iSight, USB (VDC) and FireWire (IIDC) devices, and DV cameras.

"QuickTime's plumbing is receiving significant upgrades in Leopard," the company said. "There have been significant enhancements in handling the H.264 encoding. Also, transparent alpha layers, an optional part of the H.264 specification, are now supported in H.264-based QuickTime movies."

QuickTime under Leopard will also support 64-bit, Apple added. However, the functionality for 64-bit QuickTime will only be provided via the QTKit framework. The existing C-based QuickTime API will continued to be supported only in 32-bit mode.

Xray for developers

Also of interest to Leopard developers is a new timeline-based performance visualization tool Apple is rolling out called Xray, which gives programmers the ability to see how their application works in a completely new and intuitive way.

"It let's you watch CPU, disk I/O, memory usage, garbage collection, events, and more in the form of graphs tied to time," the company explained. "For example, you can track UI events in real-time and see how they affect I/O activity and CPU load at the same time. And, once the data has been collected, you can scan back and forth through your application's run and see exactly what occurred, and when."



31 Comments

booga 22 Years · 1081 comments

I don't know the details of Apple's OpenGL pipeline, but it sounds like it will provide the most benefit for machines with strong CPUs but weak GPUs. In OpenGL, the stack is required to implement all standard functionality and any available extensions, even if the GPU doesn't. That means that on some machines, more processing is done on the CPU instead, to a greater or lesser degree. If that CPU work is done in a separate thread, it could certainly speed things up, but it seems like you'd get the most speedup on the worst-configured machines, and a top-of-the-line system might not see as much.

johnny mozzarella 19 Years · 1818 comments

"It let's you watch CPU, disk I/O, memory usage, garbage collection, events, and more in the form of graphs tied to time,"

This reminds me of something I wish Apple would make available.
Core Image, Core Video, Core Audio, Core Data, Core Animation....Core Graphing!

Apple's Keynote and most of it's other apps make very nice looking graphs.
However, I've seen some pretty hideous graphs in many third party apps.
Apple should make available an API for making slick looking graphs easily.

melgross 21 Years · 33631 comments

Quote:
Originally Posted by Booga

I don't know the details of Apple's OpenGL pipeline, but it sounds like it will provide the most benefit for machines with strong CPUs but weak GPUs. In OpenGL, the stack is required to implement all standard functionality and any available extensions, even if the GPU doesn't. That means that on some machines, more processing is done on the CPU instead, to a greater or lesser degree. If that CPU work is done in a separate thread, it could certainly speed things up, but it seems like you'd get the most speedup on the worst-configured machines, and a top-of-the-line system might not see as much.

It looks as though it will be spun off as one thread. I'd rather see it having the capability of being multi-threaded, if possible.

With 4 and eight cores, using one core will be wasting considerable resources. I see no reason why OpenGl couldn't use two, or even four cores, if required.

nascarnate326 19 Years · 108 comments

Sweet. Can someone tell me what this means for the PowerPC crowd?
Will 10.5 be faster on my G4?

melgross 21 Years · 33631 comments

Quote:
Originally Posted by nascarnate326

Sweet. Can someone tell me what this means for the PowerPC crowd?
Will 10.5 be faster on my G4?

There will be some speedups, yes. Mostly if you have two cpu's though. That's been true for a while.