View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014647ParaView(No Category)public2014-03-21 15:372014-08-29 10:59
ReporterClinton Stimpson 
Assigned ToBen Boeckel (Kitware) 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version4.2Fixed in Version4.2 
Summary0014647: multiblock performance regression
DescriptionAfter updating to VTK 5.10.1, we eventually found our rendering performance had decreased about 3 times for some models.

I narrowed it down to vtkCompositePolyDataMapper2::GetIsOpaque().
We have few mappers with hundreds or thousands of datasets. What used to take about .6 seconds to render a scene, now takes about 2 seconds. I can derive from the class and reimplement GetIsOpaque to return true, and my speed goes back to .6 seconds per render.

I was using vtkCompositePolyDataMapper2 because a previous upgrade made many vtkActor objects slow. So I rearranged my code to use few actors. But now another upgrade has slowed that down as well. I also manually defer garbage collection when I can to get even more speed ups. Bottom line, VTK seems to get heaver and slower with each release.
TagsNo tags attached.
ProjectSandia
Topic Name
Typeperformance
Attached Files

 Relationships

  Notes
(0032528)
Utkarsh Ayachit (administrator)
2014-03-21 16:22

Good catch. Seems like we really need to a mechanism to mapper to avoid having to do data dependent checks on each render and only do those when data (or mapper) changes.
(0032530)
Utkarsh Ayachit (administrator)
2014-03-21 16:34

Moving to ParaView bug tracker since this greatly affects ParaView.
(0033172)
Utkarsh Ayachit (administrator)
2014-07-31 13:06

I believe, this is now fixed. Ben, can you confirm that the fix is in git/master.
(0033173)
Ben Boeckel (Kitware) (developer)
2014-07-31 13:40

Looks to be in to me:

% git pull
Current branch master is up to date.
% git submodule update
Submodule path 'VTK': checked out 'dace397909107915be46a67ff1003d1543597fd9'
% grep LastOpaque ./VTK/Rendering/Core/vtkCompositePolyDataMapper2.cxx
  this->LastOpaqueCheckTime = 0;
  if (lastMTime <= this->LastOpaqueCheckTime)
    return this->LastOpaqueCheckValue;
  this->LastOpaqueCheckTime = lastMTime;
            this->LastOpaqueCheckValue = false;
    this->LastOpaqueCheckValue = false;
  this->LastOpaqueCheckValue = this->Superclass::GetIsOpaque();
  return this->LastOpaqueCheckValue;
(0033265)
Alan Scott (manager)
2014-08-19 21:55

Clinton,
I am closing this bug untested. If you think it was closed in error, please either reopen it.

 Issue History
Date Modified Username Field Change
2014-03-21 15:37 Clinton Stimpson New Issue
2014-03-21 16:21 Utkarsh Ayachit Assigned To => Utkarsh Ayachit
2014-03-21 16:21 Utkarsh Ayachit Status backlog => tabled
2014-03-21 16:22 Utkarsh Ayachit Note Added: 0032528
2014-03-21 16:23 Utkarsh Ayachit Assigned To Utkarsh Ayachit =>
2014-03-21 16:33 Utkarsh Ayachit Assigned To => Ben Boeckel (Kitware)
2014-03-21 16:34 Utkarsh Ayachit Project VTK => ParaView
2014-03-21 16:34 Utkarsh Ayachit Note Added: 0032530
2014-03-21 16:35 Utkarsh Ayachit Status tabled => todo
2014-03-21 16:35 Utkarsh Ayachit Project TBD => Sandia
2014-05-12 11:54 Utkarsh Ayachit Target Version => 4.2
2014-07-31 13:06 Utkarsh Ayachit Note Added: 0033172
2014-07-31 13:40 Ben Boeckel (Kitware) Note Added: 0033173
2014-07-31 13:41 Utkarsh Ayachit Status todo => gatekeeper review
2014-07-31 13:41 Utkarsh Ayachit Resolution open => fixed
2014-07-31 13:41 Utkarsh Ayachit Status gatekeeper review => customer review
2014-07-31 13:41 Utkarsh Ayachit Fixed in Version => git-master
2014-08-19 21:55 Alan Scott Note Added: 0033265
2014-08-19 21:55 Alan Scott Status customer review => closed
2014-08-29 10:59 Utkarsh Ayachit Fixed in Version git-master => 4.2


Copyright © 2000 - 2018 MantisBT Team