It's a cool idea, but that would require a refactoring of basically the entire game. I think that we have far too much data to actually be able to do that, anyhow, to be honest. Further down the document the suggestions start getting a lot more solid in terms of me explaining myself and folks thus having a better understanding of what to suggest. The main game loop runs lightning fast at the moment -- it has no delays whatsoever. The main problem is that the secondary threads are just not starting/stopping/something fast enough. It may be as simple as some logic errors, or an issue with what appears to be some nested worker threads from my read of it (code was originally Keith's).