Hi,

This is my stack trace :

> nvoglnt.dll!69bf7af3() [Frames below may be incorrect and/or missing, no symbols loaded for nvoglnt.dll] nvoglnt.dll!69bf8f70() nvoglnt.dll!6965767a() nvoglnt.dll!69a410b8() nvoglnt.dll!69a0476b() nvoglnt.dll!69a0480b() nvoglnt.dll!69a3c870() nvoglnt.dll!69b0e0f2() nvoglnt.dll!6959a806() nvoglnt.dll!69ba523c() nvoglnt.dll!69bb9ae9() nvoglnt.dll!695b85c6() nvoglnt.dll!69bb65e1() kernel32.dll!7c80262a() kernel32.dll!7c802600() nvoglnt.dll!69a4166d() nvoglnt.dll!6960999f() nvoglnt.dll!69993d5f() nvoglnt.dll!69a3e499() nvoglnt.dll!69a3eeeb() nvoglnt.dll!69ab67e7() kernel32.dll!7c80b729()
I'll try to recreate the bug with datas/code I can share with you.
Thanks.

Regards,
  Vincent

Robert Osfield a écrit :
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



__________ 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

Reply via email to