[IPython-dev] Interactive Matplotlib in the browser
Jason Grout
jason-sage at creativetrax.com
Fri Oct 12 02:39:28 EDT 2012
On 10/11/12 10:45 PM, Brian Granger wrote:
> It is not clear to me that the stream of PNGs will win in the end.
What do you see as alternatives? Reimplementing matplotlib in the
browser? SVG-based rendering, where we send over a complete svg image
at each step (or just the changed svd elements)? I'm curious what other
ideas you have.
If
> you make a single static plot of a large data set, that is way better
> than trying to send the data to the browser and rendering it there.
> But if you have to send hundreds or thousands of PNGs to get
> interactivity, that benefit may be washed out. Especially if you have
> multiple users interacting with plots - the server could quickly grind
> to a halt. I think we should do tests to see how bad it gets, taking
> into account the multiple user question. The one performance benefit
> that I can think of is that you can tune the level of interactivity to
> limit the data that comes back. For large data sets, users might be
> willing to settle for less interactivity. That option doesn't exist
> when you send all the data back.
I implemented server-side rate-limiting (see my most recent
modifications at https://gist.github.com/3875846, for example). Or are
you saying that the server might not be able to render pngs for hundreds
or thousands of users? I wonder if we can get a better protocol than
just a "Motion PNG" [1].
A disappointing thing is that it seems to take about 100ms to render the
example png image; it would sure be nice if that was a lot faster.
[1] http://en.wikipedia.org/wiki/Motion_JPEG
More information about the IPython-dev
mailing list