@@ -11,6 +11,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
1111</editor-fold> */
1212
1313#include < vsg/io/Options.h>
14+ #include < vsg/io/Logger.h>
1415#include < vsg/threading/DeleteQueue.h>
1516#include < vsg/ui/FrameStamp.h>
1617
@@ -47,7 +48,7 @@ void DeleteQueue::wait_then_clear()
4748 std::list<ref_ptr<SharedObjects>> sharedObjectsToPrune;
4849
4950 {
50- std::chrono::duration waitDuration = std::chrono::milliseconds (100 );
51+ std::chrono::duration waitDuration = std::chrono::milliseconds (16 );
5152 std::unique_lock lock (_mutex);
5253
5354 uint64_t previous_frameCount = frameCount.load ();
@@ -67,6 +68,13 @@ void DeleteQueue::wait_then_clear()
6768
6869 size_t numObjectsToDelete = objectsToDelete.size ();
6970
71+ info (" DeleteQueue::wait_then_clear() " , frameCount.load (), " , numObjectsToDelete = " , numObjectsToDelete);
72+
73+ for (auto & objectToDelete : objectsToDelete)
74+ {
75+ info (" { " , objectToDelete.frameCount , " , " , objectToDelete.object , " }" );
76+ }
77+
7078 objectsToDelete.clear ();
7179
7280 if (numObjectsToDelete > 0 )
@@ -86,12 +94,12 @@ void DeleteQueue::clear()
8694 // use a swap of the container to keep the time the mutex is acquired as short as possible
8795 {
8896 std::scoped_lock lock (_mutex);
89- objectsToDelete.swap (objectsToDelete );
97+ objectsToDelete.swap (_objectsToDelete );
9098 }
9199
92100 size_t numObjectsToDelete = objectsToDelete.size ();
93101
94- // vsg::info("DeleteQueue::clear(), releasing ", nodesToRelease .size());
102+ vsg::info (" DeleteQueue::clear(), releasing " , objectsToDelete .size ());
95103 objectsToDelete.clear ();
96104
97105 if (numObjectsToDelete > 0 )
0 commit comments