plot performance for help

Hi all:

I'm using matplotlib for plotting in recent days. I love it especially the
usability and the plot quality.

My current work is to display a real time data set update into several 2D
graphs (5 or more, 400x400 graphs).
The environment I'm using is:
matplotlib 0.98.3
Intel P IV 2.4G
Using the wxagg backend.

The issue I encoutered was that the graphs refresh took too much CPU time,
or in other word, the graph is not draw fast enough.
Sorry to raise this performance topic again, as I knew you've discussed a
lot on this topic, there're also some posts related to this, but I just
can't find a solution suite to me.

For single graph sized 400x400, my target is to reach 50 fps. Actually, it
can be easily achieved using the animation method: copy_from_bbox/
restore_region in the following link. (I reach 90+ fps with
this) The difficulty I got is that the above method is only updating the
bbox area, but I have to update the x/y axis as well. As John indicated in
another post, updating the x/y axis is the bottleneck of the draw process.
When I update the x/y axis at the same time, the performance drops to 20+
fps, which is lower than my requirement.

Below are my questions, any kind of answer or hints would be appreciated:
1. Can I reach the performance requirement by using the wxagg? If yes, how
can I get there?
2. Is there any existing backend can reach the performance requirement? Can
it be embedded with wxpython?
3. What differences (especially performance aspect) between the wxagg and
agg backend?
4. As I know, in the recent post, Paul Kienzle is planning to develop the
opengl backend. Could the opengl backend have a great improvement on
performance compare with the wxagg?

Thanks a lot for reading


View this message in context:
Sent from the matplotlib - devel mailing list archive at