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/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]