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