[vtkusers] Deleting vtkActor takes long
Yang Yang
yyang109 at gmail.com
Thu Nov 4 23:02:51 EDT 2010
Dear all,
I have a program to display about 50,000 spheres. It doesn't take too much
time to display them(about 2 second), however, when I close the program,
which will first delete all the actors, it takes a very long time(about 30
seconds). When I debug the code, I found that everytime I pause the debug,
the program stops somewhere shown in the call stack attached below. It seems
that the program spends a lot of time in garbage collection, which I'm not
quite clear how it works. Could anybody tell me how can I speed up the
deleting actors, or at which direction I should look at. Any suggetion will
be appreciated.
Best regards
Yang
std::_Iterator_base::_Orphan_me() C++
std::_Iterator_base::~_Iterator_base() C++
std::_Bidit<vtkGarbageCollectorImpl::Entry
*,int,vtkGarbageCollectorImpl::Entry * const
*,vtkGarbageCollectorImpl::Entry * const
&>::~_Bidit<vtkGarbageCollectorImpl::Entry
*,int,vtkGarbageCollectorImpl::Entry * const
*,vtkGarbageCollectorImpl::Entry * const &>() C++
std::_Tree<std::_Tset_traits<vtkGarbageCollectorImpl::Entry
*,vtkGarbageCollectorImpl::EntryCompare,std::allocator<vtkGarbageCollectorImpl::Entry
*>,0> >::const_iterator::~const_iterator() C++
std::_Tree<std::_Tset_traits<vtkGarbageCollectorImpl::Entry
*,vtkGarbageCollectorImpl::EntryCompare,std::allocator<vtkGarbageCollectorImpl::Entry
*>,0> >::iterator::~iterator() C++
std::_Tree<std::_Tset_traits<vtkGarbageCollectorImpl::Entry
*,vtkGarbageCollectorImpl::EntryCompare,std::allocator<vtkGarbageCollectorImpl::Entry
*>,0> >::insert(vtkGarbageCollectorImpl::Entry * const &) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkInformation>(vtkGarbageCollector *,
vtkInformation * &, const char *) C++
vtkDataObject::ReportReferences(vtkGarbageCollector *) C++
vtkPointSet::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPolyData>(vtkGarbageCollector *,
vtkPolyData * &, const char *) C++
vtkPrimitivePainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPolyDataPainter>(vtkGarbageCollector *,
vtkPolyDataPainter * &, const char *) C++
vtkChooserPainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainter::ReportReferences(vtkGarbageCollector *) C++
vtkCompositePainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainter::ReportReferences(vtkGarbageCollector *) C++
vtkScalarsToColorsPainter::ReportReferences(vtkGarbageCollector *)
C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainter::ReportReferences(vtkGarbageCollector *) C++
vtkDefaultPainter::ReportReferences(vtkGarbageCollector *) C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *) C++
vtkGarbageCollectorImpl::Report(vtkObjectBase *, void *, const char
*) C++
vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase
*, void *, const char *) C++
vtkGarbageCollectorReport<vtkPainter>(vtkGarbageCollector *, vtkPainter
* &, const char *) C++
vtkPainterPolyDataMapper::ReportReferences(vtkGarbageCollector *)
C++
vtkGarbageCollectorToObjectBaseFriendship::ReportReferences(vtkGarbageCollector
*, vtkObjectBase *) C++
vtkGarbageCollectorImpl::VisitTarjan(vtkObjectBase *) C++
vtkGarbageCollectorImpl::MaybeVisit(vtkObjectBase *) C++
vtkGarbageCollectorImpl::FindComponents(vtkObjectBase *) C++
vtkGarbageCollectorImpl::CollectInternal(vtkObjectBase *) C++
vtkGarbageCollector::Collect(vtkObjectBase *) C++
vtkObjectBase::UnRegisterInternal(vtkObjectBase *, int) C++
vtkObject::UnRegisterInternal(vtkObjectBase *, int) C++
vtkAlgorithm::UnRegister(vtkObjectBase *) C++
vtkActor::~vtkActor() C++
vtkOpenGLActor::~vtkOpenGLActor() C++
vtkOpenGLActor::`vector deleting destructor'() C++
vtkObjectBase::UnRegisterInternal(vtkObjectBase *, int) C++
vtkObject::UnRegisterInternal(vtkObjectBase *, int) C++
vtkObjectBase::UnRegister(vtkObjectBase *) C++
vtkObjectBase::Delete() C++
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20101105/6110879f/attachment.htm>
More information about the vtkusers
mailing list