I have an app here that does the following:
while (1)
{
create a texture of a size we haven't used before
display it
wait a bit
delete it
}
Yes, essentially it's a fancy slide-show.
This eventually causes OpenGL to grind into texture-swapping hell.
DirectX's texture memory size calls confirm we're running out of GPU memory.
Plus debugging breakpoints show no calls to glDeletedTextures.
It seems that all my deleted textures are ending up stuck in the
pending-orphan-lists, but are never making it into the actual orphan lists,
where TextureObjectSet::flushDeletedTextureObjects() could clean them up.
It seems currently the only calls to handlePendingOrphandedTextureObjects
during normal operation are in the takeOrGenerate() call. But that's of no
help if you have lots of different texture sizes. All the pending
orphan lists for the other sizes are never processed.
So, can someone mod:
TextureObjectSet::flushDeletedTextureObjects() and
TextureObjectSet::flushAllDeletedTextureObjects()
to call handlePendingOrphandedTextureObjects() ?
seen in 2.9.6, SVN not tested, but looks no better.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org