The following drawing backends are functional on the transforms branch:

        Agg
        Ps
        Pdf *
        Svg
        Cairo *

* These could still use some optimizations to draw_markers and/or 
draw_path_collection.

Now onto the "problem" ones.  I had asked on the mailing list a while 
back about the current usefulness of the Gdk and Wx backends, and the 
one advantage cited was that they are faster when running in a remote X 
session (a valid point for some uses).  I can confirm that this is the 
case -- for a completely non-controlled experiment, I ran a remote X11 
session over our network here.  I get (on simple_plot_fps.py):

Gtk:    38.44 fps
GtkAgg:  1.87 fps
Wx:     19.37 fps
WxAgg:   1.83 fps

Running locally, I get:

Gtk:    49.39 fps
GtkAgg: 27.15 fps
Wx:     19.40 fps
WxAgg:  26.04 fps

Interestingly, WxAgg is faster than Wx when running locally.

What makes updating these backends on the branch difficult?  The 
fundamental drawing operation on the branch is compound polycurves (i.e. 
one or more separate polylines with possible bezier curve segments).

Gdk doesn't support polycurves natively.  We could convert our 
polycurves to polygons (by approximating the bezier curves) on the fly 
and send that.  That shouldn't be a major slow down in the case where 
there aren't in fact any curves, but it would mean writing some 
extension code etc.

Wx supports polycurves in its new wxGraphicsContext API (but not the 
wxDC API that mpl uses now).  This means a fairly complete rewrite of 
the wx backend, that would likely affect embedders as well (since you 
can no longer draw to an in-memory buffer, but only a true wxClientDC). 
  wxGraphicsContext is built on top of GDI+, Quartz or Cairo depending 
on platform -- therefore it's not a given that it will perform well over 
remote X-Windows, either.

So, we need to look at the pros/cons of continuing to support these 
legacy APIs going forward.

Lastly, what is the status of the EMF backend?  Is anyone relying on it 
and/or willing to look into updating it?

Cheers,
Mike

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to