"SmoothVoxelsUpgraded" property causes 20000x slowdown in terrain operations

Sometime after December 10, 2024, an engine update caused all “fill” operations on Terrain instances with the hidden SmoothVoxelsUpgraded property set to true to be anywhere from 5,000x - 50,000x slower than if the SmoothVoxelsUpgraded property is false, occasionally even causing engine crashes.

I’ve measured an average of 0.003 milliseconds for an 8x8x8 FillBlock() operation with SmoothVoxelsUpgraded disabled vs. an average of 80 milliseconds for the same operation with SmoothVoxelsUpgraded enabled.

The .rbxl files below were built from identical Rojo project files, the only difference being that in one of them, the Terrain object has SmoothVoxelsUpgraded set to true.

"tree": {
	"$className": "DataModel",
	
	"Workspace": {
		"$className": "Workspace",
		"$properties": {},

		"Terrain": {
			"$className": "Terrain",
			"$properties": {
				"SmoothVoxelsUpgraded": { "Bool": true }
			}
		}
	}
}

Simply open them both, run them, and observe the massive discrepancy in the time it takes to perform a single FillBlock() operation.

TerrainNoSmoothVoxels.rbxl (39.3 KB)
TerrainSmoothVoxels.rbxl (39.3 KB)

Expected behavior

There should be virtually no difference in the time it takes to perform terrain operations when this property is enabled vs not.

7 Likes