or Connect
AppleInsider › Forums › Software › Mac OS X › OpenGL 2.1 may double performance under Leopard
New Posts  All Forums:Forum Nav:

OpenGL 2.1 may double performance under Leopard

post #1 of 32
Thread Starter 
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."
post #2 of 32
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.
post #3 of 32
"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.
post #4 of 32
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.
post #5 of 32
Sweet. Can someone tell me what this means for the PowerPC crowd?
Will 10.5 be faster on my G4?
Get a matte screen cover and quit whining...glossy displays rock.
Reply
Get a matte screen cover and quit whining...glossy displays rock.
Reply
post #6 of 32
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.
post #7 of 32
If they're coming out with OGL 2.1, that means that the G80 (8800GTX/GTX) will make its way into the Mac Pro. Oh boy! I love x86!
"Humankind -- despite its artistic pretensions, its sophistication, and its many accomplishments -- owes its existence to a six-inch layer of topsoil and the fact that it rains."
Reply
"Humankind -- despite its artistic pretensions, its sophistication, and its many accomplishments -- owes its existence to a six-inch layer of topsoil and the fact that it rains."
Reply
post #8 of 32
It is likely that there will be some optimizations that will be cross-platform. Better threading would be one of these if you're on a DP G4.

However, I'd be willing to bet that almost all optimizations will be geared toward intel hardware. One indication of this is the significant rework of h.264 encoding. It is currently fastest on a quad G5, outstripping even the top of the line Mac Pro.

Nearly all Macs being sold are now intel based. Apple has probably finished off basic support and moved and is now free to optimize for the new architecture.
post #9 of 32
damn. Alpha layers in video. Wow. Finally, no more rendering thousands of alpha images from Maya, and merging them in a painfully slow process inside a video editor.
post #10 of 32
Will my DP G5 encode 264 faster with these QT enhancements? Will it take advantage of the G5 64 bit potential?

I've never understood what the capabilities of my G5 really are in terms of being 64 bit.
Emailing video from iPhone to Apple TV , sort of..
Reply
Emailing video from iPhone to Apple TV , sort of..
Reply
post #11 of 32
Cwazy AI...it's not OpenGL 2.1 that may double performance...it's the multi-threadedness of the whole thing.

In fact, this theoretical doubling of the performance exists under 10.4.7 for Mac Pros and 10.4.8 for all Macs with more than one CPU.
post #12 of 32
Quote:
Originally Posted by melgross

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.

It would be a major bitch to multi-thread the OpenGL stack itself, especially since OpenGL is a single state machine. This way OpenGL does it's thing on one processor and the GPU while all the other stuff can happen on the other CPU(s). It should have been this way for a long time but pre-Tiger kernel issues got in the way.

I think it is pretty unlikely that a CPU will be a bottleneck for quite awhile now, we will be back to GPU and CPU<-->GPU bandwidth being the bottlenecks.

And the extra time on the core OpenGL is running on isn't wasted, it becomes available to other threads or processe. OpenGL calls just get core affinity and a high priority, that doesn't limit doing anything else on that core when OpenGL doesn't need it.
.
Reply
.
Reply
post #13 of 32
I guess you will see a speed up like Quartz 2D extreme brough to Tiger users.
post #14 of 32
Will this make the current generation of macbooks and mac minis perform better? In what way?
Quote:
Originally Posted by appleinsider vBulletin Message

You have been banned for the following reason:
Three personal attacks in one post. Congratulations.
Date the ban will be lifted:...
Reply
Quote:
Originally Posted by appleinsider vBulletin Message

You have been banned for the following reason:
Three personal attacks in one post. Congratulations.
Date the ban will be lifted:...
Reply
post #15 of 32
Leopard has a new Cocoa API (NSOperation) that lets developers set priority and dependence for different operations. The system then translates that into threads which have the proper priority relative to each other and the proper code to respect the dependencies that their data structures have.
--Johnny
Reply
--Johnny
Reply
post #16 of 32
Quote:
Originally Posted by Hiro

It would be a major bitch to multi-thread the OpenGL stack itself, especially since OpenGL is a single state machine. This way OpenGL does it's thing on one processor and the GPU while all the other stuff can happen on the other CPU(s). It should have been this way for a long time but pre-Tiger kernel issues got in the way.

I think it is pretty unlikely that a CPU will be a bottleneck for quite awhile now, we will be back to GPU and CPU<-->GPU bandwidth being the bottlenecks.

And the extra time on the core OpenGL is running on isn't wasted, it becomes available to other threads or processe. OpenGL calls just get core affinity and a high priority, that doesn't limit doing anything else on that core when OpenGL doesn't need it.

While that's all true, and why I said "if possible", one core will quickly lag the performance of the rest of the program as the number of cores continues to increase.

In an 8 core machine, not very far away now, Open Gl will still hold everything else back.
post #17 of 32
Quote:
Originally Posted by melgross

While that's all true, and why I said "if possible", one core will quickly lag the performance of the rest of the program as the number of cores continues to increase.

In an 8 core machine, not very far away now, Open Gl will still hold everything else back.

Not at all. Now we can do all the other stuff that everyone has resisted doing because there isn't enough CPU to go around. Gaming AI is still on about a 10% budget. Newer more realistic physics budgets have crowded an increase in AI cycles out. More processor means more network packet compression making it possible to raise simultaneous networked players by an order of magnitude. More processor unleashes all these with essentially zero negative effect on an OpenGL stack running on one CPU.

Also remember, not all graphics related processing is openGL stack related. There is a lot of parallelism that can be wrung out in deformable geometry computation, fractally generated level-of-detail for both polys and textures, pre-stack culling and frustrum cropping, all in old-fashioned C++ code. Then the results can be forwarded to the stack for rendering. All techniques used for the last 10 years on big iron SGI Reality Monster rendering mainframes.

Soon an 8-core desktop with a paired-SLI card will outclass (OK hyperbole), equal a circa 2000 $5 million hardware install.

ouch.

Anyone have any questions why SGI faded away?

Now just relearn the old big $$ simulation Performer tricks for the next couple generations of game engine design.
.
Reply
.
Reply
post #18 of 32
I wonder if new GL will have antialiasing already. And means to turn it on/off globally, app-independently, like in windows drivers. Same card in Windows (run on MacPro) show nice smooth AA, and in OS X it's all jagged like hell. There is a way to force AA using some tool from XCode, but it look crappy and performance drop to unusable level.
post #19 of 32
Is Open GL 2 far behind Direct X 10?

Is the new threading stuff exciting? It seems so to be. That will maybe even up some of the frame rate disparity we've seen between the same cards performing on Windows/Mac?

Lemon Bon Bon

You know, for a company that specializes in the video-graphics market, you'd think that they would offer top-of-the-line GPUs...

 

WITH THE NEW MAC PRO THEY FINALLY DID!  (But you bend over for it.)

Reply

You know, for a company that specializes in the video-graphics market, you'd think that they would offer top-of-the-line GPUs...

 

WITH THE NEW MAC PRO THEY FINALLY DID!  (But you bend over for it.)

Reply
post #20 of 32
http://www.barefeats.com/wowmt.html

Boom!

If that's not impressive...nothing is.
post #21 of 32
Quote:
Originally Posted by kim kap sol

http://www.barefeats.com/wowmt.html

Boom!

If that's not impressive...nothing is.

Finally, framerates over 100fps. I don't like that they saw no gain on the MBP though. Maybe they weren't using 10.4.8.
post #22 of 32
Quote:
Originally Posted by Marvin

Finally, framerates over 100fps. I don't like that they saw no gain on the MBP though. Maybe they weren't using 10.4.8.

It looks like this multi-threaded GL may finally address or partly address the disparity of Mac vs PC drivers in games?

Framerates over 100 up to 1600x1200 aren't bad.

Maybe in another year, post Leopard, we'll finally see these improvements across the board for Mac games and parity will be achieved...with PC games?

Personally, having seen Core Image and Animation delivering some amazing realtime capabilities...

...I wonder...if Apple can take something open source like Open GL and use that as a basis for some awe inspiring equivalent for 3d. Core 3D?

It looks conspicious by its absence?

Lemon Bon Bon

You know, for a company that specializes in the video-graphics market, you'd think that they would offer top-of-the-line GPUs...

 

WITH THE NEW MAC PRO THEY FINALLY DID!  (But you bend over for it.)

Reply

You know, for a company that specializes in the video-graphics market, you'd think that they would offer top-of-the-line GPUs...

 

WITH THE NEW MAC PRO THEY FINALLY DID!  (But you bend over for it.)

Reply
post #23 of 32
Thanks for the link, Kim.

You know, for a company that specializes in the video-graphics market, you'd think that they would offer top-of-the-line GPUs...

 

WITH THE NEW MAC PRO THEY FINALLY DID!  (But you bend over for it.)

Reply

You know, for a company that specializes in the video-graphics market, you'd think that they would offer top-of-the-line GPUs...

 

WITH THE NEW MAC PRO THEY FINALLY DID!  (But you bend over for it.)

Reply
post #24 of 32
Quote:
Originally Posted by Lemon Bon Bon.

It looks like this multi-threaded GL may finally address or partly address the disparity of Mac vs PC drivers in games?

I think it may allow Mac games to exceed PC games at some point. One of the biggest slow downs on the Mac side is shoddy ports. With the same optimization thanks to Intel but aided by using the CPU, we could see some pretty impressive performance. Are there any high end games that have been announced that are being ported yet? A Half-Life 2 port would be awesome. That game is incredible. It's like all the best movies and games you've played rolled into one. They ported the Havok physics engine but we've heard no more about it.

Quote:
Originally Posted by Lemon Bon Bon.

...I wonder...if Apple can take something open source like Open GL and use that as a basis for some awe inspiring equivalent for 3d. Core 3D?

I think Core Animation is 3D. I'm sure that's what they said at the Keynote. Core Image is 2D and Core Animation is 3D. They demoed it by showing you the cubicle ipod ad done in Core Animation. That shows album art spinning around in 3D.
post #25 of 32
Quote:
Originally Posted by ALM

I wonder if new GL will have antialiasing already. And means to turn it on/off globally, app-independently, like in windows drivers. Same card in Windows (run on MacPro) show nice smooth AA, and in OS X it's all jagged like hell. There is a way to force AA using some tool from XCode, but it look crappy and performance drop to unusable level.

That really isn't a GL version deal, it's a utility like ATI Displays (included with Mac ATI cards).

As for WoW with multithreaded GL: Looks great. Seems he ran the fullscreen benchmarks with vertical sync though, that explains the cap at 60FPS.
post #26 of 32
"I think Core Animation is 3D. I'm sure that's what they said at the Keynote. Core Image is 2D and Core Animation is 3D. They demoed it by showing you the cubicle ipod ad done in Core Animation. That shows album art spinning around in 3D."

Hmm. I think I recall that Core Animation could use GL in it? I'm wondering if it can aid 3D apps like Lightwave in any way...or for innovative new apps...

Any chance Apple will come up with their version of Direct X combining GL and Core Animation? or is Core Animation it? Or merely a 'presentational' tool?

I wasn't clear from the Core Animation demo as to how it could be used except perhaps to make apps have super cool presentation.

I guess if we see Leopard get a finder overhaul we'll have our answer.

I'd like to see Apple put the finishing touches to a Photoshop killer after Adobe release Photoshop...

I wonder what other innovations Apple will develop re: Open GL? To 'own' the 3D space?

Lemon Bon Bon

You know, for a company that specializes in the video-graphics market, you'd think that they would offer top-of-the-line GPUs...

 

WITH THE NEW MAC PRO THEY FINALLY DID!  (But you bend over for it.)

Reply

You know, for a company that specializes in the video-graphics market, you'd think that they would offer top-of-the-line GPUs...

 

WITH THE NEW MAC PRO THEY FINALLY DID!  (But you bend over for it.)

Reply
post #27 of 32
I think Core Animation is 2.5d...
2d images in 3D space.

It would be nice if Apple were to release more and more creative apps. 3D Modelling/animating needs a bit of a boost on the ole Macintoosh.
5-8" MultiTouch Mini Tablet would go down a treat if you're reading!
Reply
5-8" MultiTouch Mini Tablet would go down a treat if you're reading!
Reply
post #28 of 32
Quote:
Originally Posted by Dazabrit

I think Core Animation is 2.5d...
2d images in 3D space.

It would be nice if Apple were to release more and more creative apps. 3D Modelling/animating needs a bit of a boost on the ole Macintoosh.

They already have. Shake and Motion. DVD Studio also can do a sort of program animation.
post #29 of 32
It's all "real 3D" but projected in such a way it looks like 2D, especially Core Graphics.
post #30 of 32
Quote:
Originally Posted by melgross View Post

They already have. Shake and Motion. DVD Studio also can do a sort of program animation.

That's great for the film industry, but for the traditional Engineering Industries having a CAD/CAM/NURBS Environment that builds upon Leopard with licensed Autodesk file format support, PRO/E, Catia and a few others would make OS X able to get into countless industries.
post #31 of 32
Quote:
Originally Posted by mdriftmeyer View Post

That's great for the film industry, but for the traditional Engineering Industries having a CAD/CAM/NURBS Environment that builds upon Leopard with licensed Autodesk file format support, PRO/E, Catia and a few others would make OS X able to get into countless industries.

Sure, that's a different enviornment. I used to use Bentley CAD. Too bad it's gone.
post #32 of 32
Just when I thought I had a good reason to upgrade to Leopard... :-(

"Though we saw gains on the Mac Pro with the Radeon X1900 XT, we saw no gains on our MacBook Pro 17" Core Duo with the X1600 Mobility."
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Mac OS X
AppleInsider › Forums › Software › Mac OS X › OpenGL 2.1 may double performance under Leopard