[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