FastCluster::updateGeometry causing frame drops

I am spinning less than 10 MeshParts in a viewport that simulates a skybox, however, I recently noticed that updating their cframe every frame causes a huge performance issue.

This is the code (I tried using BulkMoveTo but it’s the same thing)

local Time = 0
Runtime:Connect(function(Step)
	Time += Step
	for i, Vortex in VortexSky do
		Vortex.CFrame = VortexOrigins[i]*CFrame.Angles(0,Time*(i^1.5)/20,0)
	end
end)

spin

Moment the microprofiler detects the performance issue:


FastClusterUpdateGeometry prob isnt the actual cause of the lag it usually just means roblox had to rebuild some geometry bc something changed

id check if you have anything constantly changing parts meshes accessories viewportframes character transparency or cloning and deleting models especially anything running every frame

try disabling systems one by one till the spike stops id start with

  • character or accessory scripts
  • first person transparency stuff
  • viewportframes
  • ragdolls or death effects
  • anything cloning or deleting parts
  • scripts changing size material meshid textureid cframe etc

also check if a script keeps setting a property even when its already the same like setting transparency every frame for no reason

if you use alot of effects maybe reuse them instead of cloning and destroying them everytime

id also save a microprofiler dump and check what happens right before FastClusterUpdateGeometry bc thats probably what is triggering it

if you can reproduce it in a small test place that would help alot too especially if it still happens with only a few parts
This text will be hidden

happens to me too, i would say it is a roblox bug that is hard to solve
I guess updateInvalidated just something that optimizes some of their systems such as humanoids but i mean it just creates more issues for me, some new bug appeared few months ago

It seems like the cause is that I’m updating the cframe of objects in a viewport.

Here I am moving the same model with almost the same code I sent above (no extra code) into an empty viewport frame with no other objects or camera attached

I assume that it’s expensive to render viewports, but I read that this shouldn’t be happening unless I was updating something that is not a cframe.

It seems so because it doesn’t happen when it’s on workspace.

ye thats weird, you should make a bug report about it, so they have some clue what causes it

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