I'm building an interactive map with D3 and Angular.js:
This will be a real-time visualization of global activity on a peer-to-peer network, served by a local http server embedded in a desktop app. You and the peers you're connected to appear as points connected by great arcs. Countries are colored by the number and type of peers currently online there.
You can drag to rotate the globe and scroll to zoom.
Thanks to the power of D3 and Angular, this is all it took to make this:
Angular is handling the creation and deletion of svg elements, and keeping the path data attributes up to date. And D3 is calculating all those paths.
The interactivity is terribly laggy. But if you comment out the <g id="countries">...</g> section, it's wonderfully responsive. Drag and zoom feel just like they do with Google Earth, except you can't see the countries anymore.
Is this just too much computation to expect these tools to be able to do in real time, i.e. is my only hope finding country boundary data at a much lower resolution, or would this be working better if I took a different approach?
Thanks for any suggestions.