[vtkusers] Dealing with QTBUG-40889

Elvis Stansvik elvis.stansvik at orexplore.com
Fri Jul 1 09:07:14 EDT 2016


I'm in the unfortunate situation of having to support Qt 5.5.1, and I'm hit
by

    https://bugreports.qt.io/browse/QTBUG-40889

which was fixed in 5.6 with

    https://codereview.qt-project.org/#/c/126136/

I've been trying to find a way to work around this bug using a combination
of native and non-native event filters in Qt, but haven't really found a
good solution.

The problem is I want to use the built-in interactor styles in VTK, such as
vtkInteractorStyleTrackballCamera, and these makes calls to Render() as
fast as the mouse events arrive.

I have to ask: Is this really a good idea, shoudn't the rendering be
governed by a timer during the interaction (say dolly), to be more robust
against a flood of mouse events? The reason Qt has even buffered events
(and hence opened up for compression, barring that bug) is that the main
thread is overworked. And this is due to VTK rendering at every mouse move
event.

If I make my own completely custom interactor style, I of course have full
control and can let a timer govern the rendering, but I was hoping to
leverage the built-in ones. And it's not possible to subclass them and
disable just the Render calls unfortunately.

At the moment I don't quite know what to do. Moving the camera around in a
VTK window is like syrup, and our product is to run using the Qt 5.5.1 that
is packaged in *buntu Xenial :(

Thanks for any advice, especially if you've worked around this problem
yourself somehow.

Elvis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160701/69a83186/attachment.html>


More information about the vtkusers mailing list