I got some advice from an ATI/AMD developer, who said, only use that pixel format if you are going from CPU -> OpenGL. If you are doing OpenGL only processing and using FBOs for RTT and the like you should use GL_UNSIGNED_BYTE and GL_RGBA iirc.

A friend of mine and I also noticed 10.5.5 had much improved NV performance on his MBP 2.4Ghz with 8600M, but still lack luster in QC compared to my older x1600.

On Nov 7, 2008, at 7:04 PM, Michael Diehr wrote:

I was part of that prior discussion, and my take-home message was a little different -- OpenGL-based games and benchmarking suggests the NVIDIAs are faster than the ATIs (as one would expect, otherwise why would Apple have bothered changing?), but there's something particular to QuartzComposer that suffers on the NVIDIA chips. So, my conclusion was that it wasn't the OpenGL drivers, but QC that was the problem.

Of interest, I've been playing with my own OpenGL calls, and found some odd differences between ATI and NVDIA: namely the advice to use
GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV

caused terrible performance on ATI, but was fine on NVIDIA.

This advice comes from:
http://developer.apple.com/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_performance/chapter_13_section_2.html#/ /apple_ref/doc/uid/TP40001987-CH213-SW23

So, I wonder if there's some OpenGL code inside QC that is doing something wrong, such as using the wrong pixel format?

-mike


On Nov 7, 2008, at 5:51 AM, Adrian Ward wrote:


Hi Dom,

This sounds very like the performance issues we had with various NVIDIA GeForce 8XXXs versus the ATIs, which were particularly exacerbated by 1) feeding a structure of images into an iterator and 2) having multiple compositions rendering in the same process (or so it seemed).

In the latter case, we were trying to use a Composition Loader patch but the problem was also noticeable in QC editor by just having two composition windows open at the same time. The frame rate was sometimes comically low: 6 vs 60 fps! In both cases, the ATIs clearly out-performed the NVIDIAs, often dramatically, even when comparing the much older ATI X1900s to the newer NVIDIA 8800s. The mobile NVIDIA chips were also effected. Our conclusion was that the NVIDIA OpenGL drivers are not as optimal as required, despite the hardware being more advanced and that this problem is NVIDIA's fault and not Apple's.

Luckily, we had the luxury of dictating our host platform so we abandoned NVIDIA at the last moment and are now rolling out everything for ATIs.

Best,


Ade.


On 7 Nov 2008, at 13:18, Dominik Wagner tcm wrote:

Hi everyone,

we are in a little bit of a pickle here the sample code i attached really has major performance issues on the new NVIDIA GeForce 9600M GT OpenGL Engine (interestingly enough it is almost as bad as the on board one) but runs really well on the ATI of the second generation macbook pros and imacs (ATI Radeon X1600) and we can't really figure out why.

So what we do is essentially the QuartzComposerTV sample code, and add in on composition that runs perfectly on its own with it's 60 fps, but totally screws up everything when drawn in the same context together with other composisions. Which is what this sample code does: it renders a stack of Composition into an OpenGL context. To make it more like we really do it i put the rendering into a extra thread and a pixelbuffer, which is in turn put into an opengl view by drawing a quad with the pixelbuffer as a texture. Focus of this example is how many renderings the background thread can do, not if we display every rendering.

I also narrowed it down to the zodiac sings composition having many images as an input which travel down through iterators. E.g. when instead of sending in 12 different zodiac signs send in only one then it works nicely at high speed.

What are my questions:
- do we anyhting wrong in setting up the contexts and pixel buffers that is hurtin on nvidia but not on ati? - do we maybe need to do some clearing or cleanup between rendering the compositions? - has quartz composer performance issues on nvidia that it has not on the ati cards? - in our actual application we have a lot of other pixelbuffers and contexts in place and there it hurts even more as in this sample. seems like resource run out and textures are swapped/ uploaded every frame or something the likes of it

we are glad for any help we can get!

the sample code can be found at:
http://public.me.com/nikdo - QCTV-nvidia-problem.zip

it performs at 756x512 at ~44fps on the ati macbook pros, and ~30fps on the new macbook pro... here

best,
dom

--
Dominik Wagner          Mail: [EMAIL PROTECTED]
TheCodingMonkeys        http://www.codingmonkeys.de/
Blog - DasGenie: !Scrap http://scrap.dasgenie.com/


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected] )
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/adrian%40clayinteractive.co.uk

This email sent to [EMAIL PROTECTED]

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected] )
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/md03%40xochi.com

This email sent to [EMAIL PROTECTED]

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected] )
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/doktorp%40mac.com

This email sent to [EMAIL PROTECTED]

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to