Hi Vincent,

No 3rd party will be able to glean what is going on your machine, with
your app, with your data.  You will at least have to provide a stack
trace.  Ideally try and recreate the crash on a standard OSG example
with standard data such as the
http://www.openscenegraph.osg/data/earth_bayarea/earth.ive database
then other will then be to try and recreate the problem first hand.

Robert.

On Fri, Jan 15, 2010 at 1:56 PM, Vincent Bourdier
<[email protected]> wrote:
> Hi,
>
> Some more informations I do not understand.
>
> Each time I get a crash I have the following log :
>
> HANDLE_NON_HTTP: _pager->_requestList.size()= 11 to delete = 0
> In DatabasePager thread readNodeFile(Z:\data\cache\s13/V53S9_H.ive)
> HANDLE_NON_HTTP: _pager->_requestList.size()= 10 to delete = 0
> In DatabasePager thread readNodeFile(Z:\data\cache\s23/V57S4_H.ive)
> HANDLE_NON_HTTP: _pager->_requestList.size()= 9 to delete = 0
> HANDLE_NON_HTTP: _pager->_requestList.size()= 8 to delete = 0
> HANDLE_NON_HTTP: _pager->_requestList.size()= 7 to delete = 0
> HANDLE_NON_HTTP: _pager->_requestList.size()= 6 to delete = 0
> HANDLE_NON_HTTP: _pager->_requestList.size()= 5 to delete = 0
> HANDLE_NON_HTTP: _pager->_requestList.size()= 4 to delete = 0
> HANDLE_NON_HTTP: _pager->_requestList.size()= 3 to delete = 0
> HANDLE_NON_HTTP: _pager->_requestList.size()= 2 to delete = 0
> HANDLE_NON_HTTP: _pager->_requestList.size()= 1 to delete = 0
>
> It finish every time with a request list size decreasing from a value to 0,
> and crash on requestList.size()= 1. ...
> I read the code but it it very complicated to understand for me.
>
> Does it helps ? are these informations useful ?
>
> Thanks.
>
> Regards,
>  Vincent.
>
> Vincent Bourdier a écrit :
>>
>> Hi Robert,
>>
>> Robert Osfield a écrit :
>>>
>>> Hi Vincent,
>>>
>>> On Fri, Jan 8, 2010 at 2:30 PM, Vincent Bourdier
>>> <[email protected]> wrote:
>>>
>>>>
>>>> Is there a way to manage memory usage with the load of models ?
>>>> In my case I have a lot of PagedLod to load, and my question is : is
>>>> there a
>>>> way to know is memory is sufficient for the next PageLod higher level
>>>> node ?
>>>> I just would like to stop the data loading when memory usage exceed some
>>>> point.
>>>>
>>>
>>> The DatabasePager in svn/trunk + 2.9.x has the ability to cap the
>>> number of PagedLOD to a maximum, and automatically recycles PagedLOD
>>> children that aren't in the current view when new PagedLOD are
>>> required by the current view.  What this capping doesn't do is stop
>>> the loading of new PagedLOD, so if a single view requires a PagedLOD
>>> it will be loaded.  To set the cap level programmatically via:
>>>
>>>
>>>  viewer.getDatabasePager()->setTargetMaximumNumberOfPageLOD(targetNumOfPaged);
>>>
>>> Or using env var:
>>>
>>>    set OSG_MAX_PAGEDLOD=200
>>>
>>>
>>
>> I don't understand how this is working.
>> If a pagedLod is required it will be loaded... but we can cap the number
>> of lod...
>> This sounds contradictory for me.
>> The number of PagedLod you were speaking about is the PagedLod children or
>> the number of PagedLod node in the scene ?
>>
>>> Another feature of svn/trunk + 2.9.x is that texture and buffer
>>> object's pools that also provide a maximum cap on the number of
>>> texture objects and vbo/pbo/ebo's that can be allocated at any one
>>> time.  You can set it programmatically via:
>>>
>>>
>>> osg::Texture::getTextureObjectManager(contextID)->setNumberActiveTextureObjects(targetNumBytes);
>>>
>>> Or using env var:
>>>
>>>    set OSG_TEXTURE_POOL_SIZE=64000
>>>
>>> Like the PagedLOD target, the texture pool size is only a target, and
>>> if a single frame requires more memory than this it will allocated
>>> more memory to prevent any thrashing of memory  within a single frame.
>>>  I did do tests with a strict limit on memory size but when a single
>>> frame requires more than this the memory thrashing cut performance
>>> down to a fraction of it's normal, for instance going from a solid
>>> 60Hz to 1 or 2Hz.
>>>
>>>
>>
>> There are no textures in my scene... but this is good to know.
>>
>>> If you wanted the LOD control then you just implement this yourself
>>> using osgDB::Registry::ReadFileCallback that loads the tiles and then
>>> modifies PagedLOD that it loads that are higher than a certain
>>> resolution.
>>>
>>
>> Do you mean that using my own readFileCallback is not sufficient and I'll
>> need to  modify PagedLod sources too ?
>>
>>
>> Thanks.
>>
>> Regards,
>>  Vincent.
>>
>>
>> __________ Information from ESET NOD32 Antivirus, version of virus
>> signature database 4771 (20100114) __________
>>
>> The message was checked by ESET NOD32 Antivirus.
>>
>> http://www.eset.com
>>
>>
>
>
> __________ Information from ESET NOD32 Antivirus, version of virus signature
> database 4774 (20100115) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.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

Reply via email to