I've been investigating performance problems we've been having w/ the Qt
backends.  One problems is that zooming takes forever.  I've put a lot of
timing loops into the backends to see where things are happening and found a
couple of interesting items.  

The first is that agg seems to get much slower as you zoom in.  The agg draw
time goes up as the zoom level goes up.  These are plots that are completely
done w/ the Ellipse patch.  Using the Arc patch helps but is about 10%
slower when not zooming.  

The second (and reason for the email), is that the QtAgg backends are
redrawing the whole plot twice when zooming w/ the mouse.  The problem is
the files:

backend_qt.py
backend_qt4.py

The method mouseReleaseEvent calls draw() at the end of it.  This seems to
be redundant.  None of the other backends call draw at the end of their
mouse release code.  The release_zoom method in the toolbar already does a
draw() call which handles the zoom.  In addition, this mouseReleaseEvent
code triggers a draw whenever you click anywhere in the figure.

Does anyone have any idea why the qt backends should have a draw in the
mouse release when the others don't?

Ted


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to