[vtk-developers] Offscreen rendering OpenGL, linux, leaks memory

Dan Lipsa dan.lipsa at kitware.com
Thu Jun 9 13:37:15 EDT 2016


Hi all,
Does anybody have seen or has advice on fixing the following bug.
Thank you.

http://www.vtk.org/Bug/view.php?id=16744

I paste here a portion of the test I am using. The whole test is in mantis.

10000 iterations of Render leak about 20MB according the reports from the
OS. The render window is kept around and the renderer and all other objects
are deleted and and re-added at each iteration.

The same program does not leak for onscreen OpenGL or offscreen/onscreen
OpenGL2.



void iteration(int i, vtkRenderWindow* renderWindow)
{
  vtkSmartPointer<vtkCylinderSource> cylinder =
    vtkSmartPointer<vtkCylinderSource>::New();
  cylinder->SetResolution(8);

  vtkSmartPointer<vtkPolyDataMapper> cylinderMapper =
    vtkSmartPointer<vtkPolyDataMapper>::New();
  cylinderMapper->SetInputConnection(cylinder->GetOutputPort());

  vtkSmartPointer<vtkActor> cylinderActor =
    vtkSmartPointer<vtkActor>::New();
  cylinderActor->SetMapper(cylinderMapper);
  cylinderActor->GetProperty()->SetColor(1.0000, 0.3882, 0.2784);
  cylinderActor->RotateX(30.0);
  cylinderActor->RotateY(-45.0);

  vtkSmartPointer<vtkRenderer> renderer =
    vtkSmartPointer<vtkRenderer>::New();
  renderer->AddActor(cylinderActor);
  renderer->SetBackground(0.1, 0.2, 0.4);
  // Zoom in a little by accessing the camera and invoking its "Zoom"
method.
  renderer->ResetCamera();

  renderWindow->AddRenderer(renderer);
  renderWindow->Render();
  renderWindow->RemoveRenderer(renderer);
}

int main()
{
  vtkSmartPointer<vtkRenderWindow> renderWindow =
    vtkSmartPointer<vtkRenderWindow>::New();
  renderWindow->SetSize(200, 200);
  //renderWindow->OffScreenRenderingOn();
  for (int i = 0; i < 10000; ++i)
    {
    iteration(i, renderWindow);
    if (i % 10 == 0)
      {
      std::cout << i << " ==== Iteration ====" << std::endl;
      os_memory_usage();
      }
    }
  return 0;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20160609/e1d679e3/attachment.html>


More information about the vtk-developers mailing list