Gaps in Terrain

Whenever the occupancy of large sets of terrain are modified, there will be gaps in between the chunks of terrain. This bug happens in both Roblox studio and in online games.
WebM of it occurring:
https://gfycat.com/FixedSmoggyGalapagosdove

Place file of bug occuring
terrainGapsBug.rbxl (15.5 KB)

I have checked with other people and they are seeing the same artifacts, and it appears to happen with any terrain material. I have been working on a highly interactive smooth terrain system, however, this bug makes it look like garbage due to the giant gaps caused by the constant modification of terrain.

My system specs
CPU: i7-8700k
RAM: 16 GB
GPU: GTX 1060 6 GB

3 Likes

This is a bad bug that I’d really appreciate being fixed for my project

Wow, I hope that get’s fixed!

There’s no way for us to fix this bug, so it’s a feature…

When terrain is updated, we process the updates in chunks, and the number of chunks we update per frame is limited by a time budget. Any scheme that decides to throttle updates would be subject to this issue; and we can’t not throttle updates since we need to make sure arbitrary devices perform well with arbitrary content.

We can try to make sure we can update more chunks to accommodate some modification patterns, but fundamentally trying to perform large-scale modifications will always be subject to an issue like this.

3 Likes

Thanks for the quick reply. I think you made a typo when you said:

Does Roblox’s graphics settings affect the number of terrain chunks you update per frame? I understand that these artifacts will probably persist with low-end devices, but I think Roblox should utilize the capability of high-end devices, instead of graphically crippling all users regardless of their hardware’s capability.

1 Like

I believe he meant that he cannot stop throttling from happening, because it could hurt performance. Scaling the modifications to match any device’s performance on-the-fly could result in lag spikes, for example, because it couldn’t estimate the latency for all the operations regarding that chunk, such as lightning.

That’s why I implied a suggestion to increase the number of terrain chunks updated based on a user’s graphics settings. If they’re already doing that, I’d suggest increasing the amount of chunks updated per frame for the highest graphics level because on max graphics I still get those terrible artifacts.

Our update budget right now is ~4 ms/frame and 8 chunks - low end devices will take more time to update the geometry and thus do so for fewer chunks. Not sure which limit you’re hitting in your case specifically, uploading a profiler capture could help. But basically we try to be somewhat adaptive to the system’s capabilities as it is; even on high end systems and high quality levels we have to throttle to a reasonable workload. At some point we plan to start using multiple cores to do these updates which could improve the behavior here.

2 Likes

Dump of 32 frames:
microprofile-20180905-212312.html (909.7 KB)
I think I am hitting the 8 chunks limit that you are talking about. I look forward to Roblox being multithreaded to alleviate problems like this.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.