Hi Jake,

I'm sorry for the late reply to this email.

It doesn't sound ideal that your application has to call
clutter_clear_glyph_cache so it would be nice to work out exactly what
the problem is here. I'd be interested to know which version of Clutter
and Cogl you are using. If you are using a Cogl version after commit
14ed963b0 and you are disabling mipmapped glyphs then the glyph cache
should be shared with your texture cache.

What happens with the glyph cache is that it initially starts with a
texture sized 1024x1024 (or 512x512 if the atlas is shared). Once the
texture is filled up it will create a new texture that is twice as big
and then it will migrate all of the glyphs to the new texture. I think
this migration is what is causing the big hiccup. I'm confused why you
are seeing lower performance after the migration has finised though.

If the atlas isn't being shared then it shouldn't be trying to create a
framebuffer so presumably you are sharing the atlas which is why it is
giving that warning.

It would be interesting if you could run the application with
COGL_DEBUG=atlas and post the log here so we can get some idea what is
happening.

You might also want to try COGL_DEBUG=disable-shared-atlas which will
force the glyphs to go in their own atlas and it shouldn't end up using
FBOs to migrate.

Hope that helps.

Regards,
- Neil

Jake Knickerbocker <[email protected]> wrote:
> 
> Hi all,
> 
> OK, so I've been playing with scrolling text again lately, and things are
> going pretty well, but I've hit another oddball problem.
> 
> First off, I'm probably doing this all the wrong way. Short explanation:
> 
> I'm creating one large gourp.
> Within this group I'm placing rectangles of varying size,
> each with some amount of text on them. Quite a lot of text actually
> that covering most of the screen.
> (This is actually a program guide displaying a television listing)
> 
> As the user scrolls around, I destroy and create new actors offscreen
> when needed. This way the scrolling seems smooth and kind of looks
> like an infinite list. It's pretty slick and working well.
> 
> The issue I'm hitting is that as I'm scrolling at high speed, actors are
> being
> created (and destroyed) at a fairly high rate, and after some apparently
> fixed number off offscreen creations, I get hit with:
> 
> Cogl-egl-WARNING **: ./cogl-framebuffer.c:908: Failed to create an
> OpenGL framebuffer
> 
> At which point I get a big hiccup, and then performance goes out the
> window.
> Also, any further looping Clutter animations seem to leak memory and
> consume an unusually high amount of CPU. Clearing the screen and
> redrawing everything brings the performance back, mostly, but I've
> lost my nice framerate and the leak persists.
> 
> Basically this is failing in cogl-framebuffer.c:
> 
> 768: status = glCheckFramebufferStatus (GL_FRAMEBUFFER);
> 
> This is on an Intel CE4100 that already has some issues with mipmapped
> fonts and requires them to be disabled at start time, and the error appears
> to be happening for non-mipmapped offscreen texture creation. If I cut
> down the amount of font rendering, the problem goes away!
> 
> Aargh. Driver issue? Am I killing the GL stack? Any thoughts?
> 
> Thanks,
> Jake
> _______________________________________________
> clutter-app-devel-list mailing list
> [email protected]
> http://lists.clutter-project.org/listinfo/clutter-app-devel-list
_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list

Reply via email to