New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lasso-ing in WxAgg causes flickering of the entire figure #4968
Comments
This is probably related to the auto-redraw 😞 Are you using it with or with out blitting? |
Looks like useblit=True for this one. |
That is better that what the qt4 backend is doing for me, no flicker, but also no line! |
really? I must have forgotten to try lassoing on that backend. I tested gtkagg and tkagg as well. |
Things are way broken on master with the lasso example we ship, |
Lasso is just one example. I just noticed that using a timer to "page" through multiple frames of data (not an animation, so no blitting), is also causing flickering, although not nearly to the same amount as the lasso. I think I might have a few draw()'s in the code because draw_idle()'s weren't working. Maybe the Wx rework changed some of the old behaviors? |
Removal of a polygon takes a few seconds before it finally disappears. |
as a side note, for testing I just threw a print statement in |
I think I just figured out how the rubberband/lasso tool is implemented. It's extremely fragile:
This causes the lasso to disappear if there is any additional paintEvent between paintEvents that originated from lasso mouse move events. Also, the lasso stays on screen if the first paintEvent call from Qt happens after the zoomed draw request when the mouse is released. I'll propose a fix to that in #4962. |
I'm seeing no lasso flicker for the normal qt gui by the way, are you talking about the ion() mode? For this there is a pretty good explanation. Those draw_idle() callbacks we talked about are causing additional paintEvents the current lasso implementation cannot cope with. The PR from @jrevans with the old draw_idle() implementation hides this problem because it discards the callbacks. |
@WeatherGod Can you still reproduce this? Do we need to call in Robin? |
I am using the older Wx, not the new Wx-Phoenix. I'll see if one of our packaged examples demonstrates this.
The text was updated successfully, but these errors were encountered: