Hi mike,from my point of view here it feels like some OpenGL code inside QC that handles (in my case the textures for the Zodiac Symbols) texture resources wrong. for once: - OpenGL driver monitor does not show the full amount of VRAM to be utilized - it even goes doen from 21% utilization to 11% utilisation when switching on the zodiac layer (or from 210 MB to 110 MB, depending on what the number is actually saying) - the performance with the zodiac layer turned on is the same disregarding the setting of the graphics card used in energy saving system preferences - when switching on the zodiac layer, cpu usage goes up from 60% to 94% - imho making it highly likely some pixelformat byte reording takes place that limits the graphics card usage (corresponding gpu usage in opegnl monitor is 57% vs 20%)
i will try to narrow that down into as good examples i can do this week and file corresponding radar bugs. It physically causes me pain that our application runs better on the old ATI MacBook pros then on the new dual Nvidia ones.
Thanks for the answers and suggestions so far, domp.s.: switching GL_RGBA to GL_BGRA in for the internalPixelFormat: value causes the texture to be rendered white. Also: the performance problem exists as well without my rendereing into pixelbuffer code - e.g. by just adding the zodiac layer to the list of layers in the standard QCTV sample you get this performance hit. That does point to something internal to QuartzComposer....
On 08.11.2008, at 01:04, 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 useGL_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-SW23So, 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 itwe are glad for any help we can get! the sample code can be found at: http://public.me.com/nikdo - QCTV-nvidia-problem.zipit performs at 756x512 at ~44fps on the ati macbook pros, and ~30fps on the new macbook pro... herebest, 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/dom%40codingmonkeys.de This email sent to [EMAIL PROTECTED]
-- Dominik Wagner Mail: [EMAIL PROTECTED] TheCodingMonkeys http://www.codingmonkeys.de/ Blog - DasGenie: !Scrap http://scrap.dasgenie.com/
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ 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]

