I've also split out the rendering component from parallel coordinates here:
http://bl.ocks.org/d/3341641/
A note on that: performance could probably be improved by not using
splice() each iteration:
http://jsperf.com/search?q=splice
The trick with render queue is the rendering is spaced out. Each
iteration, 10-200 marks are rendered. It might take 8 seconds to
render everything, but that's probably better than freezing the
browser and rendering in 4 seconds. It doesn't render *faster*, it
just starts rendering sooner and let's the user interrupt the
rendering.
I plan on looking into WebGL soon as a renderer for parallel
coordinates though. For speed, the trick is to use as much GPU as
possible, whether that be CSS3 3d transforms, WebGL, or whatever.
Sometimes SVG can be the fastest! It's not easy to reason about, and
it's different for all device/browser combinations.