Wear, Mark (mark.wear++at++lmco.com)
Thu, 19 Nov 1998 10:15:01 -0700
I am using the performer DBASE process to page-in manageable chunks of
extremely large (country size) databases. During each build, I construct the
needed piece of scene graph in the asynchronous DBASE process within a
pfBuffer. After construction of my new scene, I register commands to swap
the old group (the group currently being drawn) with the new group using
pfBufferRemoveChild and pfBufferAddChild. After pfBufferRemoveChild, I then
request the asynchronous deletion of the old scene graph group node using
pfAsyncDelete(). I then merge the pfBuffer. I directly modeled this method
after an example given in the Iris Performer Student Handbook.
I am experiencing a memory leak which appears to be proportional to the
number of polygons created during a build. I have tracked this leak to the
deletion of the old portion of scene graph. I believe this to be the case
because if I build my new scene as usual, but never swap the new and old
groups, and thus never call pfAsyncDelete(), the memory leak disappears.
Is the memory associated with a pfBuffer freed appropriately after a merge?
Could the request for asynchronous deletion of the old group be getting lost
on occasion? Could my problem be caused by fragmentation of the shared
memory arena? Is there a better way to accomplish the paging of a large
database?
Any ideas or suggestions?
Thanks,
Mark
Mark E. Wear
Electronic Systems Engineer
Lockheed Martin Vought Systems
mark.wear++at++lmco.com
(972) 603-2758
This archive was generated by hypermail 2.0b2 on Thu Nov 19 1998 - 09:26:45 PST