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]