> Thanks for the info (and validation). I have found a hack to make it
> work, though I have no idea *why* it works.


It works because "Idle state optimization" was added to QC4 -- this allows QC 
to skip rendering if it can determine that nothing has changed from the 
previous frame.  Unfortunately, the Screen Saver renderer wasn't made aware of 
that change, and it assumed that when it asked QC to render it would get a 
valid frame.  Because QC refused to render (idle state), the GL context was 
left unmodified (so it'd contain vram garbage/previous frames/whatever the GPU 
driver decided to use the memory for in the mean time), and Screen Saver would 
present it thinking it was nice and pretty.  Most other QC driving applications 
were made aware of that change, so you don't see it elsewhere (in the editor, 
for example).

So the "Why" portion of your question:  if you can trick QC into thinking it 
_could_ change every frame, it will render every frame (effectively bypassing 
Idle State stuff) -- a few ways to do that have already been presented, but 
that's why they work.   The implication of this workaround is that there's 
higher CPU usage and more GPU drawing, which are undesirable when not 
absolutely necessary :/

--
Christopher Wright
[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