Very interesting stuff.

I couldn't get stable enough results with the video input patch (with a gauss blur set to maximum, i was getting 80 - 300 fps..) so I made a quick comp with a rotating cube clip, inside a render in image set to 1024x1024, fed through 2x gaussian blurs (cropping the image back to 1024x1024 after each).

At that res, I got 30fps without native CI, and 35fps with it turned on. But I see something very weird here: sometimes when I turn native CI on, I get 35fps. Other times, I get 48fps! And sometimes I get 35 for a few seconds and then it jumps to 48. But it's pretty stable at one or the other, it doesn't vary a lot. Can I have a reliable 48fps please? Also, the FPS display seems to differ between the FPS patch and the viewer figures (at the moment I see 39 in the FPS display, and 46 in the viewer). 

Composition attached if anyone wants to compare results (I'm on an imac w/ radeon 2600).

Chris

Attachment: Native CI test.qtz
Description: application/quartzcomposer



On 19 May 2009, at 01:00, George Toledo wrote:

Repeating the same test, I get quicker results with Native Core Image Rendering disabled. 

With it disabled, my fps hovers a range between 20~56fps, with much more time in the 50's. With it enabled, it reigns it in to between 19~30fps.

In general, I've noted better performance with it off. One thing that caused me to ask this was that I noted a composition (not of mine) that gained significantly from turning this off (around 20~30fps). Again, counter to what is apparently expected.

-George Toledo

On Mon, May 18, 2009 at 7:47 PM, Christopher Wright <[email protected]> wrote:
So, are you saying with it on it could be faster?
When it is on, we use [ciContext drawImage:], just like you would do in your own code with a fully CI-based render chain. That's why it is fast, the CoreImage framework can do their special optimizations and make it so.


Yes -- it saves some round-trip GL stuff (CIImage -> GL texture -> GL_QUAD) to become (CIImage -> context).  Behind the scenes, I imagine it's doing something very similar, but CI has an advantage when it knows exactly how many pixels are visible, how large the destination extent is, what parts are offscreen, etc.  with that extra information, it can potentially end up doing less work (fewer pixels to evaluate, for example).

For me, Video Input -> Gaussian Blur -> Billboard is about twice as fast with Native Core Image Rendering enabled.  This characteristic is probably different for different video sizes (mine's 640x480) and GPUs (mine's a GMA950).

--
[ christopher wright ]
[email protected]
http://kineme.net/

 _______________________________________________
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/gtoledo3%40gmail.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/psonice%40gmail.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]

Reply via email to