How can we gracefully handle Cogl and GL out of memory conditions?



(copied from cogl mailing list)

Hi Clutter users,

We are still having problems with out of memory issues when using offscreen
effects (which use offscreen framebuffers).  The code is running on Arm
Mali chip hardware running gles2.  What's interesting here is that you can
have several large textures (1920x1080 and 2048x1556) on screen at once
adding up to over 131mB before it reports out of memory errors (and only
when when you try to transform one of them) at which point drawing failures
occur. All these textures go into Pow2 sized atlases.  However if you have
just one 1920x1080 image with an offscreen effect (e.g. contrast) on along
with other plain images then it seems to fail earlier and cause drawing
problems.  Perhaps this is because the offscreen buffers are not Pow2 sized
and tend to fragment video ram.  It seems with our device the best approach
is not to offer the offscreen effects or restrict the size of image they
are used on.   Any comments would be appreciated.


(.:2748): Cogl-WARNING **: ./driver/gl/cogl-framebuffer-gl.c:1139: GL error
(1285): Out of memory

Cheers,
Reza


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]