The trick to making a huge scene which performs well has a lot to do with culling. One simple approach is to partition space in two dimensions and test against the segments with the camera’s frustum, a technique is known as quad tree culling. Building on a node-based approach by Paulo Oliviera, I decided to take it one step further and throw the objects into a partitioned SQLite database, assigning each region a code in the database and querying it to get a list of objects in that zone.
Although not perfect due to the RAM requirements, the approach works well with medium sized worlds. The video above shows a mock world of about 2KM in size, although now abandoned, you can get a Windows demo with the code here.