[osg-users] How do PagedLOD children expire?

Thrall, Bryan bryan.thrall at flightsafety.com
Mon Sep 10 14:56:14 PDT 2007

Paul Martz wrote on Monday, September 10, 2007 4:31 PM:
> Hi Robert -- My understanding of the DatabasePager is that PagedLOD
> children that are not visible in the current view volume should
> eventually "expire", which I assume means be unloaded from memory.
> OSG would then have to reload such children from disk if they ever
> came back within range. However, I am not seeing a decrease in
> process size when PagedLOD children are not visible. Please let me
> know if I've somehow misunderstood the intent of the DatabasePager
> and PagedLOD.       
> If I understand correctly, the default expiry delay is 10 seconds, so
> I should see children being deleted after they are moved outside the
> view volume for 10 consecutive seconds.  
> FYI, I'm attempting to cook my own paged database for a tiled
> OpenFlight terrain database. I'm doing this with a top-level Group
> node with several PagedLOD child nodes, one for each tile in the
> database. Each PagedLOD has its own explicit center and radius based
> on the tile location and size. So, if you think the issue might be
> misconfiguration of the PagedLOD nodes, then I'd say this is
> possible, though I can't see what I might be doing wrong from looking
> at the PagedLOD and LOD headers.       
> I'm using osgViewer, so DatabasePager config is handled automatically.

The DatabasePager has a lower limit on the number of expired PagedLODs
before it starts removing expired ones; I believe the default is 100.
So, unless 100+ PagedLODs are loaded, you won't see any removed due to
expiring. I recall someone adding a function to the DatabasePager so you
could configure this, but I don't have the reference handy at the

Bryan Thrall
FlightSafety International
Bryan.Thrall at flightsafety.com

More information about the osg-users mailing list