ForgeMultipart
ForgeMultipart copied to clipboard
Chunk load time goes up with high amount of microblocks
We're currently working on a 1.6 challenge map, and my team relies heavily on microblocks. I can't say exactly where the divider is, but I have 8 chunks that have a load of microblocks in it, that at mystcraft arrival, or just going outside max render distance and back in, stalls the client for a a few seconds due to render.
I removed light sources and other mod items from the area to ensure it was none of them causing the issue.
This would be unavoidable. Every part has to be rendered one by one. If there are a lot of parts, that could take some time.
The same happens with vanilla fences. Try it out. Create a superflat world with lots of fence laters, and make one with the same amount of block layers. Blocks are much easier to render than fences. Especially, because only the visible faces are rendered.
Hmm... I just don't recall having the same issue with redpower microblocks, altough they had a lot of shading issues that this mod doesn't. We had a whole building made from nothing but microblocks... over 20 chunks in visible range, and it took less than a second to load. I really just wonder if it could be something else causing it as it's not only client side. Once loaded, it causes no delays obviously, leading me to conclude it is render-related.
Removing light sources near it did load it slightly faster, but still longer than i'd like.
Its rather odd that such a small amount of microblocks would cause such lag, especially to the point of causing server hang just to send chunk data to 1 player.
This is our current construct. http://imgur.com/cuxsww2
When loading the area on the server the client will freeze anywhere from 5 seconds to 12 if another player is present on the server (in the same area or not). Other players will also experience excessive lag during this time until the player has loaded the entire monument.
Here's an example log of myself approaching the monument via Mystcraft book http://tny.cz/c806da29
Regarding any possible misconceptions of scale here are some images of our old library http://imgur.com/a/r0Rt1
@meiadm RP microblocks did not allow for new multiparts to be added to them on the fly (FMP does), so it was likely a lot easier to optimise the rendering code for them without affecting visuals to much.
@finalsliver it might be caused by the fact that multiparts have to be build during chunk load, the tile entity does not actually exist in its seen state while the chunk is unloaded, having to convert so many different multiparts might be causing the delay
Unfortunately something like this is very hard to profile. Client multiparts do perform a fair few calculations on chunk load, but it's better there than every render frame