Skip to content

Avoid wait for each jpeg encoding in PVImageDataDelivery

We currently take no advantage of the multi-threaded Jpeg encoder and this is why we get lower framerates than other projects that use vtkDataEncoder. This MR brings the code closer to vtkPVWebApplication::StillRender by Pushing an image for encoding but not waiting it for it unless we do a StillRender in other words, interactive renders just push frames and get whatever is ready at the time of call.

This delivers higher fps at the expense of a delay between interaction and result of interaction at higher resolutions. For higher resolutions video encoders are better.

Ideally when switching from Interactive to Still render we should also publish all pending frames to avoid "jumping" between frames in the client. Maybe hook a dedicated thread for publishing them ?

Merge request reports