Random Chitchat 2012-2016
I aim for MCServer to be able to run on the Raspberry Pi or the MK802 / AK802 minicomputers, so I need to make the generator really fast Smile
Thanks given by:
Yup. There was room for improvement. Got a 50 % speed increase in the generator (100 -> 150 chunks per second in Release build). The biomes do generate slightly different, but the difference is really hardly noticeable:

Before:
[Image: biomes_before.png]

After:
[Image: biomes_after.png]
Thanks given by:
Omg 50% nice but what is the difference between the pictures?
Thanks given by:
That's the point - there is a slight difference, but it's almost unnoticeable. The speedup was caused by not calculating all 16x16 biome values per chunk, but calculating only 5x5 and then interpolating between them linearly.

For example, if you look at the bottom center, there are several differences on the plains / mushroom biomes boundary.

And another 10 % speed increase (150 -> 165 ch / s), this time without sacrificing anything. God, I'm good Smile
Thanks given by:
Omg now 10% xD you would think it is faster than the vanilla minecraft Smile
Thanks given by:
I think right now it is faster than vanilla. But that's mainly because we still don't have all the generated content. As soon as we add everything, we'll have to make a new round of optimizing.
Thanks given by:
In r709 you gave ravines and caves propper caching. Does the trees already have propper caching??
Thanks given by:
A cache system for trees, if not impossible, would be insanely difficult and also too memory-intensive. I highly doubt it would be any real use.

What'd be more interesting is a data structure that would hold the same data as sSetBlockList / sSetBlockVector, but implement better memory management. Instead of creating a sSetBlock object on the stack and copying it to the sSetBlockVector in a push_back(), it should directly take the arguments and set the internal sSetBlock implementation, without the temporary stack object. The question is, whether the optimizing compiler doesn't do that already, and if not, whether it would have as high an impact as I think it would.
Thanks given by:
The generator is good enough for normal use now, I think. I'll focus on other issues for a while.

I'll try fixing / implementing / refactoring the inventory windows so that shift+clicking works. The lack thereof is really getting on my nerves.
Thanks given by:
Well, no go Smile Just received the package with my Raspberry Pi. Experiments, here I come Smile
Thanks given by:




Users browsing this thread: 36 Guest(s)