Debugging terrapage plugin results:

We've been seeing the same problem with a single camera moving around in the
database.

Here's what I've been seeing:
TXPNode::traverse -> this handles the unloading and loading of LOD 0 tiles.

When loading a tile here's what I see:
When the tile has no other lods, lod 0 node will be loaded (just a geode
node) and attached to a PagedLod node under the TXPNode.
So TXPNode -> PagedLOD -> geode
When the tile has other lods, the lod 0 node will be loaded (TXPPagedLod),
added to the activeLODList in the databasepager, and attached to the
scenegraph.
So it goes TxpNode -> PagedLod -> TXPPagedLod -> geode group -> (geode
group, TXPSeamLOD) etc
*Note that these nodes added to the activeLODList will never be expired by
the databasepager, they will always be in the activelodlist unless you clear
it out.
[I'm assuming the difference is that the tile has other LODs and the other
doesn't, haven't confirmed this.  All I can confirm is that they are lod 0
nodes and their scene graph structures differ.]

The Traverse also unloads the LOD 0 nodes (The PagedLOD nodes under the
TXPNode).  This works fine for the nodes that don't have any other LODs, but
not so well for the Nodes that have other lods / seams.
When the traverse removes a PagedLOD that has a TXPPagedLOD in it, the
database pager never expires that node and never removes it form the active
list. So it hangs around in memory never to be used again.
When that same tile is reloaded, the newly loaded node is pushed onto the
activeLODList and then added to the scenegraph by the database pager.  So if
you are constantly paging LOD 0 nodes in and out by moving around, you'll
eventually run out of memory and crash.

So what we are seeing is that duplicate LOD 0 nodes are being loaded.  I
currently don't have a fix for this, but would like to know what would be
the preferred way of fixing this issue?

The database version is Terrapage 2.2 I believe with 1600 LOD 0 nodes.
Other LODs are present in certain areas.

-Ryan S
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to