Hi Robert,

I was wondering, if I unref manually my images but also activate the texture
pool with OSG_TEXTURE_POOL_SIZE, is there any risk that one of my images
will be unloaded from the graphic card and then it will be impossible to
load it again because it has been unref ?

Thanks !

On Wed, Apr 21, 2010 at 10:06 AM, Serge Lages <[email protected]> wrote:

> OK thank you Robert, I'll unref manually my images.
>
> Cheers,
>
>
> On Tue, Apr 20, 2010 at 8:16 PM, Robert Osfield 
> <[email protected]>wrote:
>
>> Hi Serge,
>>
>> Enable the unref image after apply in your case is a bit awkward as,
>> as you have found, the mechanism assumes that all contexts will
>> require the texture.
>>
>> Another way around the issue is to use the texture object pool to keep
>> a cap on the memory usage on the driver and GPU side.  Another route
>> migt be to make areAllTextureObjectsLoaded() virtue or have a callback
>> for it so you can customize the behavior.
>>
>> Robert.
>>
>> On Tue, Apr 20, 2010 at 6:21 PM, Serge Lages <[email protected]>
>> wrote:
>> > Hi Robert and all,
>> > Another question related to multi-screen/multi-context applications
>> (yes,
>> > still one...). I am currently trying to save some memory on my
>> application,
>> > so I want some of my textures to be uploaded in the graphic card and
>> release
>> > it from the classic RAM, that's why I set setUnRefImageDataAfterApply to
>> > true.
>> > But looking at Texture2D.cpp, here is the conditions to unref an image :
>> > state.getMaxTexturePoolSize()==0 &&
>> > _unrefImageDataAfterApply &&
>> > areAllTextureObjectsLoaded() &&
>> > image->getDataVariance()==STATIC
>> > I am currently having troubles with the areAllTextureObjectsLoaded
>> > condition, it checks if all the available contexts have uploaded the
>> > texture. The problem here is that my texture is designed only for one of
>> my
>> > screens, so it's applied for only one context, so this condition is
>> always
>> > false and the image is never released.
>> > Am I doing something wrong ? And is there any way to force my image to
>> be
>> > unref ? The only solution is a custom callback setting the image to NULL
>> > after a first apply ?
>> > Thanks !
>> > --
>> > Serge Lages
>> > http://www.tharsis-software.com
>> >
>> > _______________________________________________
>> > osg-users mailing list
>> > [email protected]
>> >
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>> >
>> >
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>
>
>
> --
> Serge Lages
> http://www.tharsis-software.com
>



-- 
Serge Lages
http://www.tharsis-software.com
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to