Some semi-random thoughts on terrain generation
I think either my computer is really slow or I have something not configurated properly. When the server is generating in extreme hills biomes I only get ~3 ch/s
World.ini:
Code:
[Storage] Schema=Default CompressionFactor=6 [Plants] IsSugarcaneBonemealable=0 MaxSugarcaneHeight=3 MaxCactusHeight=3 IsCarrotsBonemealable=1 IsCropsBonemealable=1 IsGrassBonemealable=1 IsSaplingBonemealable=1 IsMelonStemBonemealable=1 IsMelonBonemealable=0 IsPotatoesBonemealable=1 IsPumpkinStemBonemealable=1 IsPumpkinBonemealable=0 IsCactusBonemealable=0 [PVP] Enabled=1 [Physics] WaterSimulator=Vanilla LavaSimulator=Vanilla DeepSnow=1 SandInstantFall=0 ShouldLavaSpawnFire=1 RedstoneSimulator=incremental TNTShrapnelLevel=2 [GameMode] GameMode=1 [Generator] Generator=Composable BiomeGenCacheSize=64 HeightGenCacheSize=64 CompositionGenCacheSize=64 BiomeGen=TwoLevel CompositionGen=DistortedHeightmap HeightGen=DistortedHeightmap DistortedHeightmapSeaLevel=62 DistortedHeightmapFrequencyX=10.000000 DistortedHeightmapFrequencyY=10.000000 DistortedHeightmapFrequencyZ=10.000000 Finishers=Ravines,WormNestCaves,Villages,OreNests,WaterLakes,LavaLakes, SprinkleFoliage,Trees,Ice,Snow,Lilypads,DeadBushes,WaterSprings,LavaSprings,BottomLava,PreSimulator MineShaftsGridSize=960 MineShaftsMaxSystemSize=1280 MineShaftsChanceCorridor=6000 MineShaftsChanceCrossing=2000 MineShaftsChanceStaircase=2000 LavaLakesProbability=10 WaterLakesProbability=25 BottomLavaLevel=10 VillageGridSize=384 VillageMaxDepth=1.5 VillageMaxSize=128 [WaterSimulator] Falloff=1 MaxHeight=7 TickDelay=5 NumNeighborsForSource=2 [LavaSimulator] Falloff=2 MaxHeight=6 TickDelay=30 NumNeighborsForSource=-1 [General] Dimension=0 Gamemode=1 [FireSimulator] BurnStepTimeFuel=500 BurnStepTimeNonfuel=100 Flammability=50 ReplaceFuelChance=50000 [WaterSprings] HeightDistribution=0, 0; 10, 10; 11, 75; 16, 83; 20, 83; 24, 78; 32, 62; 40, 40; 44, 15; 48, 7; 56, 2; 64, 1; 255, 0 Chance=24 [LavaSprings] HeightDistribution=0, 0; 10, 5; 11, 45; 48, 2; 64, 1; 255, 0 Chance=9 [SpawnProtect] ProtectRadius=10 Enable=0 [WorldLimit] LimitRadius=0 [Difficulty] WorldDifficulty=2 [Monsters] Types=bat, cavespider, chicken, cow, creeper, enderman, horse, mooshroom, ocelot, pig, sheep, silverfish, skeleton, slime, spider, squid, wolf, zombie AnimalsOn=0 VillagersShouldHarvestCrops=1 [Mechanics] CommandBlocksEnabled=1 PVPEnabled=1 UseChatPrefixes=0

CPU-Z Info: http://puu.sh/8WCih.png
Reply
Thanks given by:
I tryed the "Resource contention data (concurreny)" performance test from MSVS.
It says, the test is for "Detecting threads waiting for threads".
https://mega.co.nz/#!0Ugz1Spa!G9XfQ8Fn5i...mRP_lnORis
I made it, because MCServer isn“t even using one cpu core fully.
Reply
Thanks given by:
STR: I get between 4 and 20 chunks / sec, with the speed oscillating quite randomly, when I use your ini file. My CPU is a Core2Quad, too, although a bit newer than yours. I'll investigate tomorrow, it's too late today.

L01ZB: Those files can only be opened by the MSVC Ultimate edition, I have that at work so I'll look there, if I have time.
Reply
Thanks given by:
(05-23-2014, 01:47 AM)STR_Warrior Wrote: I think either my computer is really slow or I have something not configurated properly. When the server is generating in extreme hills biomes I only get ~3 ch/s
World.ini:
Code:
[Storage] Schema=Default CompressionFactor=6 [Plants] IsSugarcaneBonemealable=0 MaxSugarcaneHeight=3 MaxCactusHeight=3 IsCarrotsBonemealable=1 IsCropsBonemealable=1 IsGrassBonemealable=1 IsSaplingBonemealable=1 IsMelonStemBonemealable=1 IsMelonBonemealable=0 IsPotatoesBonemealable=1 IsPumpkinStemBonemealable=1 IsPumpkinBonemealable=0 IsCactusBonemealable=0 [PVP] Enabled=1 [Physics] WaterSimulator=Vanilla LavaSimulator=Vanilla DeepSnow=1 SandInstantFall=0 ShouldLavaSpawnFire=1 RedstoneSimulator=incremental TNTShrapnelLevel=2 [GameMode] GameMode=1 [Generator] Generator=Composable BiomeGenCacheSize=64 HeightGenCacheSize=64 CompositionGenCacheSize=64 BiomeGen=TwoLevel CompositionGen=DistortedHeightmap HeightGen=DistortedHeightmap DistortedHeightmapSeaLevel=62 DistortedHeightmapFrequencyX=10.000000 DistortedHeightmapFrequencyY=10.000000 DistortedHeightmapFrequencyZ=10.000000 Finishers=Ravines,WormNestCaves,Villages,OreNests,WaterLakes,LavaLakes, SprinkleFoliage,Trees,Ice,Snow,Lilypads,DeadBushes,WaterSprings,LavaSprings,BottomLava,PreSimulator MineShaftsGridSize=960 MineShaftsMaxSystemSize=1280 MineShaftsChanceCorridor=6000 MineShaftsChanceCrossing=2000 MineShaftsChanceStaircase=2000 LavaLakesProbability=10 WaterLakesProbability=25 BottomLavaLevel=10 VillageGridSize=384 VillageMaxDepth=1.5 VillageMaxSize=128 [WaterSimulator] Falloff=1 MaxHeight=7 TickDelay=5 NumNeighborsForSource=2 [LavaSimulator] Falloff=2 MaxHeight=6 TickDelay=30 NumNeighborsForSource=-1 [General] Dimension=0 Gamemode=1 [FireSimulator] BurnStepTimeFuel=500 BurnStepTimeNonfuel=100 Flammability=50 ReplaceFuelChance=50000 [WaterSprings] HeightDistribution=0, 0; 10, 10; 11, 75; 16, 83; 20, 83; 24, 78; 32, 62; 40, 40; 44, 15; 48, 7; 56, 2; 64, 1; 255, 0 Chance=24 [LavaSprings] HeightDistribution=0, 0; 10, 5; 11, 45; 48, 2; 64, 1; 255, 0 Chance=9 [SpawnProtect] ProtectRadius=10 Enable=0 [WorldLimit] LimitRadius=0 [Difficulty] WorldDifficulty=2 [Monsters] Types=bat, cavespider, chicken, cow, creeper, enderman, horse, mooshroom, ocelot, pig, sheep, silverfish, skeleton, slime, spider, squid, wolf, zombie AnimalsOn=0 VillagersShouldHarvestCrops=1 [Mechanics] CommandBlocksEnabled=1 PVPEnabled=1 UseChatPrefixes=0

CPU-Z Info: http://puu.sh/8WCih.png

I get between 18 and 31 chunks / sec.
Reply
Thanks given by:
I've found out why the profiling output is useless, CMake was munching our switches. I'll commit a fix soon(ish).
Reply
Thanks given by:
STR, I've tried your world.ini at work in a profiled release executable, I get over 150 chunks / sec. The current breakdown for the generator is:
Trees: 33 %
Lakes: 12 %
PreSimulator: 3 %
Villages: 2 %
The rest is under 1 % of the run time. Note that the high percentage for Trees is caused mainly by the Trees generator querying terrain composition of its neighbors, which is then stored in the cache and thus all the other generators that query those will get them cheap.

I've added the profiler fix to both master and VillageGen branches. Can you do the profiling for me once more, please?
Reply
Thanks given by:
Did you also try MineShafts? Because I only got 0.23 ch/s when its enabled. Anyway I'm really curious if it's just my computer being slow or if something isn't configured properly. On normal biomes I get around 30 ch/s but in extreme hills it goes down to 3 ch/s.

I tried profiling again, but for some reason MCServer can't open any files. Because of that it can't open the world.ini and thus is not generating MineShafts. I'm now editing MCServer so it generates MineShafts by default.

Weird. It looks like it isn't generating anything at all.
Reply
Thanks given by:
I get 1.32 ch/s with Village and MineShafts at running cpu profiling.
https://mega.co.nz/#!JNAVlIAD!T1v6YOv9yf...sPdiJ4rW08
Reply
Thanks given by:
L01ZB the VSP files are useless to me when I don't have your PDBs. I need the CallerCalleeSummary.csv file produced by our profiling script.

STR, yes, adding mineshafts seems to have slowed down the generator significantly. Investigating now.
Reply
Thanks given by: NiLSPACE
Found it. You're asking for too large mineshafts (MineShaftsMaxSystemSize=1280), and they are overflowing the internal cGridStructGen cache size. Currently the cache is set to 100 items, but each chunk query is asking for 196 mineshaft systems, so each chunk effectively clears the cache, and the next chunk must generate all those 196 mineshaft systems anew.

There may be additional problems with the size calculations, I'm checking those, too.

As a hotfix, try smaller system size, 128 is the default value.
Reply
Thanks given by:




Users browsing this thread: 8 Guest(s)