On Mar 23, 2008, at 11:49 PM, Colin Cornaby wrote:
I am successfully rendering a layer tree that is never shown on the
screen with a CARenderer. I set up a pixel buffer, and then render
to the pixel buffer. But, when I call [CATransaction commit] before
I actually do the rendering, there is a very large allocation of
memory depending on the size of the image. Apparently glClear is
being called internally by CoreAnimation, and I'm guessing it's
allocating some sort of buffer internal to CoreAnimation. I can't
figure out how to get CoreAnimation to let go of it, and it exists
for the lifetime of my program.
From the backtrace you provided below, it looks like the allocation
is made by OpenGL when _you_ called glClear in your program. Maybe
it's the depth buffer that is being allocated the first time you
draw into the surface? (You probably don't need the depth buffer, CA
definitely doesn't use it.)