I'm just wondering - what's the reason for Stonesense to be so slow, even when the game is paused? (I can only use Stonesense with paused DF, and even then it's responding slowly and is far from fluent). The graphics are very old-school, and the old games that look similarly run fast on modern computers. By this logic, Stonesense should be fast as lightning.
This isn't meant as whining, as I'm sure there's a perfectly good reason for it. I'm just curious what the reason is.
The main reason is that 3rd party tools do not have direct memory access. It's as simple as that. If we want to read the world from DF, we have to copy each piece of data we want to read out. We can't access it directly, and this is what is causing most of the slow-down.
As Japa points out, the graphics take up a fair amount too. They could be more optimized, of course, but the issue is more complicated. First off, modern computers are geared towards 3D graphics, and can do billions of vertex and shading calculations per second. They're not geared towards 2D graphics at all. So any tile based Isometric engine you see, will do caching tricks, like only redrawing parts of the screen that has changed. This becomes exceedingly difficult to implement when you can not add "hooks" and event listeners into the actual game code.
That's the under-the-hood explanation.