Los of performance in 5.4.0 vs 5.2.0
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
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.