Hi,
I'm trying to get rid of some custom paging code of ours which presently
pages in and out various blocks of terrain depending on the location of
the eyepoint and replace it by using osg::PagedLOD's and the OSG's
built-in database paging capabilities.
I've started down a path that I'm starting to discover may have been an
error because after examining OSG's database pager it's not quite doing
what I want it to be doing.
Basically I have n PagedLOD nodes attached to a toplevel Group. Each
PagedLOD node has a center point at the center of the database file that
it is responsible for paging. Each PagedLOD only has one terrain file
attached to it with a range from 0 to X where X right now is 5 times the
radius of the terrain tile (although this will obviously change).
I was under the impression that as the eyepoint would come in range of
each of these PagedLOD's it would load in the appropriate database and
then unload it after it leaves the eyepoint. Instead what appears to be
happening is that the databases are paged in and get swapped between an
inactive and active list as I go enter and leave traversal range but
rarely if ever is the database actually added to the
osgDB::DatabasePager::_childrenToDeleteList. Consequently, the memory
is rarely freed.
I'm trying to analyze this and I'm not sure if it's because of a bug in
osgDB::DatabasePager or if it's just because I'm using PagedLOD's
completely improperly. I would appreciate any advice anyone has to
offer, thanks.
I posted example code for what I'm trying to do in the "Paged LOD memory
usage question after calling removeExpiredChildren()" thread.
--
Philip Lowman
Simulation Development Engineer, Modeling and Simulation Technology
General Dynamics Land Systems
http://www.gdls.com
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/