-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Areas where there are a lot of caves and tunnels underground harm FPS (improve occlusion culling) #4553
Comments
There's a related issue somewhere, the caves are not actually occlusion culled. |
No it's to do with another issue of how MT does occlusion culling, someone rendered everything as wireframe and saw that caves were still present. |
Those are probably within the same mapblock (16x16x16), culling works on mapblock level iirc. |
Oh no, not that label! |
We can't change mapblock size, it's so fundamental. |
I remember reading an article about how someone decided how to cull caves in a voxel environment, but I forget the link name. It's was posted on the forum ages ago |
That's it |
done by minecraft portable edition developers... |
That method may improve culling efficiency, but at what cost? it has to do flood fills for every mapblock. |
This may improve the situation: #4724 |
Oh yeah in caves it should reduce the number of blocks fetched from the server from d^3 = 8r^3 to 4/3pi * r^3 ~ 4.2r^3 (so almost by 2)... Plus the culling improvements. |
Folks, any new update on solving this? |
@lhofhansl has made culling improvements and is still thinking about further ones, see his PRs and issues. |
I think this issue is out of date because we have had some changes to occlusion culling, please do some new tests, especially with no mods to rule out other effects, and using wireframe mode to check culling. A vague request for better occlusion culling performance is not really worth an issue, we are always trying to improve it, but if you find something that seems unexpected that is useful as an issue. |
@paramat Just tested .14 vs .16. |
@Megaf Have you checked in wireframe mode how many tunnels have been culled? If it's at spawn, the lag could be caused by other things since players will place a lot of things there. |
The server side occlusion culling I added would not help with this - it would only reduce the number of blocks that the server needs to send. Before the change the client would occlude these blocks away, now the server does not send them. Can you look at the output of F6 and report the "blocks in range"? I'd be curious how big that number is on your case. |
I had some attempt to improve the accuracy of occlusion culling (which be used both server and client side), but that had cause a bunch of side-effects. Minecraft uses a version of flood-filling rather than the ray-tracing type approach we're using here. The flood filling can be perfectly accurate, but it needs pretty sophisticated caching or it will be too slow. |
Ok, but as i explained this doesn't mean much, the low FPS could be due to other causes. If there is any bug in occlusion culling you need to test more carefully by disabling all mods to rule out other effects.
Essentially this is expected, there is no evidence of a bug, and there is no fix or workaround apart from ongoing efforts to improve occlusion culling. So until there is evidence of a bug, an issue for 'better performance' is somewhat pointless. |
What's the occlusion culling mechanism in Terasology? |
@HybridDog Maybe it would be better to ask the Terasology community? |
Probably better to use a voxel-specific algorithm such as https://procworld.blogspot.com/2015/08/voxel-occlusion.html |
Hi everyone. I believe this is a bug know by some people already and I was surprised to see that yet nobody had reported it.
Basically, in areas where we have a complex network of tunnels underground for example, the client will experience a huge framerate drop.
On my own server for instance, at spawn the FPS can get as low as 6 FPS whereas around 100 nodes away from spawn, in areas that don't have underground tunnels but do have buildings, signs and homedecor the FPS can reach 30+ FPS.
I believe this might be caused partially by the way the engine works, making a block full of caves heavier to render than one without. But I don't understand why. I wonder if there is any fix or work around for this issue.
The text was updated successfully, but these errors were encountered: