[Paraview] Multi-Threading issues

Biddiscombe, John A. biddisco at cscs.ch
Mon May 31 07:32:32 EDT 2010


We have been developing an interface which allows us to control our simulations on the fly and have used a Qtimer in a custom panel, to query when new data is available from the server. When data is ready we

when the timer is triggered and the server reports that data is ready, we do a number of bookkepping taks, and then update the pipeline/representation and other stuff using server manager objects like so...

    this->Reader->InvokeCommand("Modified");
    this->Reader->UpdatePropertyInformation();
    this->Reader->UpdateVTKObjects();
    this->Reader->UpdatePipeline();

and finally after more stuff ... trigger a render ...


    if (pqActiveObjects::instance().activeView())
    {
      pqActiveObjects::instance().activeView()->render();
    }

This has been working fine for some months, but recently, we've been getting strange errors which look like the paraview client is interacting with the server manager, at the same time as we are triggering updates. A classic threading type problem. [We have added another thread to pvserver which accepts data from the simulation via its own socket communicator, this appears stable as we can do much stuff without forcing updates in the pvclient gui and we get no errors, these threads reside only inside pvserver ]

Within a Qt+ParaView framework, can anyone tell me if it is "safe" to Update pipelines from the server manager within a timer triggered slot. Is there an existing example of anything similar which updates server manager objects from a timer - also forcing renders. I know that rendering should be triggered from the gui thread only - should this be removed from the Qtimer slot.

Any feedback welcome.

Thanks

JB

--
John Biddiscombe,                            email:biddisco @ cscs.ch
http://www.cscs.ch/
CSCS, Swiss National Supercomputing Centre  | Tel:  +41 (91) 610.82.07
Via Cantonale, 6928 Manno, Switzerland      | Fax:  +41 (91) 610.82.82

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20100531/4e03c059/attachment-0001.htm>


More information about the ParaView mailing list