Skip to content

Refactor squashing of render requests.

Previous approach had the potential to cause too many interprocess exchanges even for obsolete render requests. Further more, due to parallel queues being built due to use of separate provides, there was a potential for standard remote object messages and interaction messages to be interleaved differently between different ranks.

All of these issues are addressed by this refactor.

Now, instead of using a separate vtkInteractionProvider, we add interaction logic to vtkRemoteObjectProviderViews itself. This avoids parallel queues problem and hence ensures all messages are processed in same order on all ranks.

Next, by using preview/process counters and global exchanging of preview counters to collective make consistent decisions about which render request to skip, we ensure all ranks render the same state.

Edited by Utkarsh Ayachit

Merge request reports