Large data inappropriately collected to client in reset camera
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
Creating data in client/server mode, the decision to collect data is initially set based on the compositing decision for the previous render. The upshot is that ParaView will push large data to the client when first opened even when it should not. At best this slows things down a lot. At works, it saturates the client with geometry and crashes it.
To see the problem in operation, do the following.
- Run the client in a debugger and attach to a server.
- Set the compositing threshold to about 3 MB (in Edit->Settings). Verify that you are now not using compositing threshold.
- Set a breakpoint (on the client) at vtkSMSimpleParallelStrategy::GetMoveMode().
- Create a Sphere source. Set the Theta Resolution and Phi Resolution parameters to their maximum and then hit Apply. (This will create ~90MB of data.)
- After hitting apply you will reach the breakpoint. Observe the compositing flag and stack trace.
Notice that although we are creating 90MB of geometry, the compositing mode is still set to off. The problem here is that the GetMoveMode is being called during a pipeline update for a reset camera. Since this is before a StillRender is being called (and probably before the geometry is actually created), the appropriate compositing determination has not been set yet. The compositing flag is based on the previous render when there was no geometry.