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



Hello Clutter users and developers,

Using the top of 1.14 branch when trying to use 2 offscreen effects such as blur and desaturate on a full HD screen sized actor and then after that trying to do a page turn effect on a smaller actor we run out of  video RAM (I'm assuming) on our OpenGL ES device  and get errors from Cogl when it calls GL calls to render attributes or allocate texture memory for resulting in black actor(s).

    While we might be able to fix this particular issue by making sure to remove/destroy the effects from the actor before applying another effect on another actor, we want a graceful general way to handle tight memory situations and not just display black.  It seems that you can eat up most of your memory with an effect and then memory runs out just trying to draw normal actors with no effects

Clutter-WARNING **: Unable to allocate texture for offscreen effect: Out of memory

However we get into a situation where we're getting errors from GL out of memory I guess when trying to use more than one offscreen effect in the same scene and when some of them are failing.  This results in black textures.  It seems that the memory isn't recovered until the actors are deleted and a new scene is constructed.

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


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


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


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


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


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


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


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