slowdown with big invisible lines

Hello,

This may be a silly question, but I'm wondering what happens in
Matplotlib rendering when there is a "big" Line2D object (say 10**7
points) added to an Axes, with *visibility set to false*.

Here is an tiny script meant to be run interactively (say with Python in
pylab mode) step by step :
https://gist.github.com/3638471

I'm experiencing a strange slowdown of Axes rendering when such a "big
line" is added to the Axes, despite the fact it is invisible. So I'm
wondering if this is an expected behavior or a some kind of bug. Or
maybe it's a well known fact, already fixed in the upcoming 1.2 release
and in that case sorry for the duplicate.

Best,
Pierre

PS: I'm using Matplotlib version 1.1.1rc2, from Debian Testing. Today
TkAgg backend, but the other day same problem happened with Qt.

Hello,

I was just wondering if I should preferably post such messages about a
possible bug report on matplotlib-users mailing list instead of the
devel ml. I'm not familiar with the community convention of how to spit
topics between those two. Or is it better if I just report directly an
issue on GitHub and start discussion from there ?

Best,
Pierre

PS : an unrelated question about mailing list : I noticed that the
matplotlib-users ml archive on sourceforge seems to stop from recording
starting around July 16th 2012
http://sourceforge.net/mailarchive/forum.php?forum_name=matplotlib-users
(on the other hand, the devel archive seems fine). No messages appear
for August and September

···

Le 10/09/2012 19:19, Pierre Haessig a écrit :

Hello,

This may be a silly question, but I'm wondering what happens in
Matplotlib rendering when there is a "big" Line2D object (say 10**7
points) added to an Axes, with *visibility set to false*.

[...]

I was just wondering if I should preferably post such messages about a
possible bug report on matplotlib-users mailing list instead of the
devel ml

Hi Pierre,

Thanks for bringing this to our attention.

You’ve posted to the right mailing list - I’m sorry nobody has replied, we have all been focussing on the latest 1.2 release and this has fallen through the net.

Your issue looks legit, I have looked through the axes.py Axes.draw method, and there is no filtering based on the visibility toggle for anything but images. Seems like it could be a very easy fix, would you be willing to open an issue on the github tracker? https://github.com/matplotlib/matplotlib/issues/new

Thanks again for raising this,

All the best,

Phil

Hi Phil,

Your issue looks legit, I have looked through the axes.py Axes.draw
method, and there is no filtering based on the visibility toggle for
anything but images. Seems like it could be a very easy fix, would you
be willing to open an issue on the github tracker?
https://github.com/matplotlib/matplotlib/issues/new

Thank your very much for your feedback. I've opened the issue
(https://github.com/matplotlib/matplotlib/issues/1256) and started to
investigate a bit. It's the first time I'm browsing matplotlib code but
fortunately I have this part of the API quite well in mind.

I guess the next step is git-cloning and compiling the code... I need to
take a look at the Developper's Guide first !

Best,
Pierre

···

Le 13/09/2012 16:50, Phil Elson a écrit :