← All articles

Resource Management

Published: 09/15/2026

Render data chaos

There has been an incident which forced me to reinstall the OS on my development machine - always great fun and a fantastic spare time activity. After I got it all running once again, I of course restored the Orthographic code base backup from my local server. My previous data structure was comprised of thousands of folders and millions of small files, which would have taken such a long time to restore, I am sure it would still be working on that restore task. So I went back to the drawing board, and tested a few things. This lead to a much more streamlined, faster, and much more organized data structure for the information I need to render out the imagery. While I do not want to go into all the details, you can imagine every part of the data now being partitioned into relatively small chunks. Nodes, Ways and Relations are separate as they were before, but in a more performant format. And no, it is not SQLite.

Only data in the building

Previous iterations of the engine had a lot of data to deal with. One of the heaviest consumers, and performance-impacting resource of that data are buildings in any form. There is a lot of building information in a PBF file - I would argue that in areas with larger cities, it will probably use up the most part of it - as every single type of entry tagged as a building is its own ID, with its own polygon data and so on. While I had a good approach in dealing with them, I figured out that leaving them out now has two advantages: render time is noticably lower, and I have to deal with far less data. Apart from that, when using X-World or X-World Pro, the buildings are being placed into their correct locations already, thus completing the scenery without annoying "echoes" of a building in the ground texture.

A little bit more make-up, still

One of the tags that appears the most is landuse:farmland. My previous resources looked okay - but not good enough. So I sat down and re-curated that particular pool and expanded it to 25 instead of 15 possible resources, and same goes for forest regions. They now also feature 25 instead of 15 resources. In addition, another resource I replaced is for quarry regions - they looked dull and stupid, now the look more realistic.

As I re-render existing tiles and add new ones, the new resources will become visible.

Here are some examples.