> Unfortunately, in our efforts for global domination we quickly discovered the performance limitations of the project as it stood, as well as my personal knowledge with Three.js and WebGL. In short, the expanded version of London ran at a horrible 20–40fps depending on the system you viewed it on.<p>You got a lot farther than me when I tried Three.js before hitting performance problems. I was trying to make a WebGL 3d warehouse visualization app: <a href="http://chir.ag/projects/wh/" rel="nofollow">http://chir.ag/projects/wh/</a> and stopped because it was too slow once I loaded 1000 bins. I also never quite figured how to handle rotation/panning nicely (src: <a href="http://chir.ag/projects/wh/main.js" rel="nofollow">http://chir.ag/projects/wh/main.js</a>). I came up with a shorthand <a href="http://chir.ag/projects/wh/bins/wh.txt" rel="nofollow">http://chir.ag/projects/wh/bins/wh.txt</a> that expands to <a href="http://chir.ag/projects/wh/bins/bins.php" rel="nofollow">http://chir.ag/projects/wh/bins/bins.php</a> - I was going to make it an easy to use app where you could describe how the warehouse was organized with 20-30 lines of bin#s and positions and let the system generate the rest. Then it could parse APIs containing various properties per bin (full/empty, inventory amount, frequency of usage, days-since-last-used etc.) Clicking on any bin would open up a panel with more information and you'd have filtering/highlighting capability for the whole warehouse.<p>I made good progress initially but got busy with life and never got around to solving the too-many-bins problem. I still don't know how to improve the performance. Even when entire objects are outside the view, they still take up resources and time. I see you mentioned LOD support in Three.js - no idea if it would help me or not because each object is already as simple as it can be - just a box.<p>If someone wants to hack on this and make it functional, I'll help however I can.