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

Bill Lorensen bill.lorensen at gmail.com
Thu Jun 9 14:24:10 EDT 2016


If you are on linux, can you run valgrind on this?

Bill

On Thu, Jun 9, 2016 at 1:37 PM, Dan Lipsa <dan.lipsa at kitware.com> wrote:
> 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;
> }
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtk-developers
>
>



-- 
Unpaid intern in BillsBasement at noware dot com


More information about the vtk-developers mailing list