View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0009061VTK(No Category)public2009-05-24 14:452013-04-05 20:15
ReporterNick Gnedin 
Assigned ToUtkarsh Ayachit 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0009061: Los of performance in 5.4.0 vs 5.2.0
Description
vtkPolyDataMapper in 5.4.0 resets display lists at every call. It seems that the problem is with vtkOpenGLDisplayListPainter.cxx. In the following piece of the code:

 // First check for the cases where all display lists (irrespective of
 // typeflags are obsolete.
 if (
   // Since input changed
   input->GetMTime() > this->Internals->BuildTime ||
   // actor's properties were modified
   actor->GetProperty()->GetMTime() > this->Internals->BuildTime ||
   // mapper information was modified
   this->Information->GetMTime() > this->Internals->BuildTime)
   {
   this->Internals->ReleaseAllLists();
   }

the if(...) statement is always true, and the display list is always
re-created, even when the input data does not change. Perhaps, input
gets Modified() somewhere where it should not.

That results in the major performance loss. That only happens when display non-opaque geometry with scalar data.

The test code that shows the catastrophic perfomance difference between 5.2.0 and 5.4.0 is attached.


TagsNo tags attached.
Project
Type
Attached Filescpp file icon Test.cpp [^] (2,285 bytes) 2009-05-24 14:45

 Relationships

  Notes
(0019965)
Utkarsh Ayachit (administrator)
2010-03-19 11:32

The vtkScalarsToColorsPainter was using the LUT alpha in
deciding if we needed to regenerate the colors. This was incorrect since the LUT
alpha is anyways not taken into consideration when generating the colors. This
was causing the display lists to be re-generated when actor::property::alpha <
1. Fixed that.

/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkScalarsToColorsPainter.cxx,v <-- VTK/Rendering/vtkScalarsToColorsPainter.cxx
new revision: 1.22; previous revision: 1.21

 Issue History
Date Modified Username Field Change
2009-05-24 14:45 Nick Gnedin New Issue
2009-05-24 14:45 Nick Gnedin File Added: Test.cpp
2010-03-19 11:32 Utkarsh Ayachit Note Added: 0019965
2010-03-19 11:32 Utkarsh Ayachit Status backlog => @80@
2010-03-19 11:32 Utkarsh Ayachit Resolution open => fixed
2010-03-19 11:32 Utkarsh Ayachit Assigned To => Utkarsh Ayachit
2011-01-13 17:00 Source_changeset_attached => VTK master a2bd8391
2011-01-13 17:00 Source_changeset_attached => VTK master 020ef709
2011-06-16 13:11 Zack Galbreath Category => (No Category)
2013-04-05 20:15 Berk Geveci Status customer review => closed


Copyright © 2000 - 2018 MantisBT Team