Neil Roberts さんは書きました:
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.

I'm running 1.6.8 and downloaded the tarball from the stable versions. So I guess I'm not sure
about the commit hash on Cogl.

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.
Ok, and here's a log. I haven't had a chance to dig much deeper into this yet, but will take a
closer look next week:

<snip>

Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:351 & 0x81786c0: Atlas is 1024x1024, has 2461 textures and is 6% waste Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:234 & Trying to resize the atlas to 1024x1024 Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:449 & 0x81786c0: Atlas reorganized with size 1024x1024

(test_clutter_ui:2179): Cogl-egl-WARNING **: ./cogl-framebuffer.c:921: Failed to create an OpenGL framebuffer Cogl-egl-Message: [ATLAS] ./cogl-blit.c:366 & Failed to set up blit mode copy-tex-sub-image

(test_clutter_ui:2179): Cogl-egl-WARNING **: ./cogl-framebuffer.c:921: Failed to create an OpenGL framebuffer Cogl-egl-Message: [ATLAS] ./cogl-blit.c:380 & Failed to set up blit mode texture-render Cogl-egl-Message: [ATLAS] ./cogl-blit.c:380 & Failed to set up blit mode framebuffer Cogl-egl-Message: [ATLAS] ./cogl-blit.c:380 & Failed to set up blit mode copy-tex-sub-image

(test_clutter_ui:2179): Cogl-egl-WARNING **: ./cogl-framebuffer.c:921: Failed to create an OpenGL framebuffer
Cogl-egl-Message: [ATLAS] ./cogl-blit.c:388 & Setup blit using get-tex-data
Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:483 & 0x81786c0: Atlas is 1024x1024, has 2462 textures and is 5% waste Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:351 & 0x81786c0: Atlas is 1024x1024, has 2463 textures and is 5% waste Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:351 & 0x81786c0: Atlas is 1024x1024, has 2464 textures and is 5% waste Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:351 & 0x81786c0: Atlas is 1024x1024, has 2465 textures and is 5% waste

< /snip>

So it looks like it's trying to do the migration, but the FBO allocation is failing in this case. Further scrolling
sees the waste value drop:

<snip>

Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:351 & 0x8175138: Atlas is 1024x1024, has 2569 textures and is 2% waste Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:351 & 0x8175138: Atlas is 1024x1024, has 2570 textures and is 2% waste Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:351 & 0x8175138: Atlas is 1024x1024, has 2571 textures and is 2% waste Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:234 & Trying to resize the atlas to 1024x2048 Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:449 & 0x8175138: Atlas resized with size 1024x2048

(test_clutter_ui:2246): Cogl-egl-WARNING **: ./cogl-framebuffer.c:921: Failed to create an OpenGL framebuffer
FUNC=_cogl_offscreen_new_to_texture_full LINE=922
Cogl-egl-Message: [ATLAS] ./cogl-blit.c:388 & Setup blit using get-tex-data
Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:483 & 0x8175138: Atlas is 1024x2048, has 2572 textures and is 50% waste Cogl-egl-Message: [ATLAS] ./cogl-atlas.c:351 & 0x8175138: Atlas is 1024x2048, has 2573 textures and is 50% waste

</snip>


This was a minimized test case and I'm only loading a few textures, so I'm pretty sure it's not
that texture memory is full.

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.


And disabling the shared atlas let things continue a bit longer, but I still hit the same hiccup.

I'll try to post more info as soon as I can.

Much thanks,
Jake
_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list

Reply via email to