10-23-2012, 06:15 AM
While I'm messing around simulators, I noticed that by far the most costly simulator is the redstone. It hogs the most CPU and it spends most of it on calling cWorld::GetBlock(). I was wondering, could it be modified so that it read a small area using cBlockArea and then query that area instead of the entire world? That would most certainly speed things up, since there would be no locking and no chunk lookup needed for each single block. Also it would naturally bound the simulator not to simulate too close to the world edges, because the block area would refuse reading there.