Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Core Image renders out of texture memory...




It seems that there is effectively a conflict between Core Image and garbage collection.


If I go back to the classical memory scheme, there is no more slowdown. Sampler confirms this : available VRAM and textures count of the OpenGL driver remain stables.

Cyril.





I had that issue as well, and it turned out I was accidentally retaining a CIImage with every pass. Make sure if you retain any images that you release them properly during your rendering cycle.

Thank you,

But in my case, Garbage colection is activated.

Moreover, the tree and all the objects that feed it are constructed only once, when source images are available. The only thing that is done repeatidly is a call to drawImage on the ouputImage of the root of my filter tree. Links between filters of the tree are defined by directly connecting inputImage and outputImage of filters. I do not set any intermediate CIImage or CIImageAccumulator.

In the early days of Leopard, I read something describing conflicts between Core Image and garbage collection... Did somebody already experience such a problem (on the 10.5.2) ? Should I deactivate garbage collection ?

Cyril.



On Mar 30, 2008, at 2:24 PM, Cyril Kardassevitch wrote:

Hi List !

I experience a problem with Core Image...

My application constructs a moderately complex CIFilter tree once, before rendering occurs. Then I draw it via calls to CIContext drawImage on the outputImage of the root filter.

During execution, I force the tree to render many times by stretching the output window. Then the texture count begins to increase rapidly. It never decreases. After the free VRAM roughly fell from 250 MB down to 30 MB, the system began to swap and the rendering slowed down consequently.

As I understood the 'lazy evaluation' model of Core Image, CIImages are virtual containers, and filters execute only when rendering occurs. I thought texture resources was transparently managed and freed by the Core Image API between two renderings...

Did I missed something ?

For info : Garbage collection is on. Source images are 512 x 512 RGBA 32 b floats CIImages. System is a PowerPC dual G5 1.8 w/ ATI Radeon 9700.

Thanks in advance.
Cyril.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartz-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartz-dev/email@hidden

This email sent to email@hidden
References: 
 >Core Image renders out of texture memory... (From: Cyril Kardassevitch <email@hidden>)
 >Re: Core Image renders out of texture memory... (From: vade <email@hidden>)
 >Re: Core Image renders out of texture memory... (From: Cyril Kardassevitch <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.