07-30-2012, 03:49 AM
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
Random Chitchat 2012-2016
|
07-30-2012, 03:49 AM
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
07-30-2012, 06:20 AM
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: After:
07-30-2012, 06:30 AM
Omg 50% nice but what is the difference between the pictures?
07-30-2012, 06:48 AM
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
07-30-2012, 07:20 AM
Omg now 10% xD you would think it is faster than the vanilla minecraft
07-30-2012, 07:26 AM
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.
07-30-2012, 09:43 PM
In r709 you gave ravines and caves propper caching. Does the trees already have propper caching??
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.
08-01-2012, 12:13 AM
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.
08-01-2012, 07:16 AM
Well, no go Just received the package with my Raspberry Pi. Experiments, here I come
|
« Next Oldest | Next Newest »
|