Do you have the placeAtMe in that same script or is it called from somewhere else? PlaceAtMe is relatively slow, while I've found moveTo to be pretty quick. (setPos too, but you have to set the angle too). Whether it's in the same script and you have a forced loop to wait for it to materialize (a while loop testing for is3DLoaded), or if your code is in an onInit or some other thing triggered by the object itself after being created.. the holdup may be coming from the placeAtMe itself.
Using PlaceAtMe(abIntiallyDisabled = true) in combination with EnableNoWait(0) largely eliminates the delay associated with PlaceAtMe. If I run the loop in the code I listed after commenting out the MoveTo, the loop runs in 0.02 seconds. The delay is definitely coming from MoveTo.
If not, I might suggest creating the object preemptively, though disabled. Then on-demand have it materialize. This would be a last-resort workaround though.. lots more code and potential drama. AND you'd probably have to have a special type of object, since certain things cannot be moved while disabled.
Preloading the forms saves about 0.05 seconds in the loop, but I can't place them until the OnEffectStart event because I need the target. I haven't encountered an object that can't be moved while disabled, though translation doesn't work without the 3D loaded.
It's so aggravating. In less than 0.08 seconds I can load (disabled) all of the 9 to 13 Activators
and calculate their circular placement around the target with trig functions. I can even Enable them without MoveTo and the whole thing runs in about 0.1 seconds. But the simple act of using MoveTo on even a
single form takes longer than all of those operations
combined.
I even tried goofy stuff like placing a temporary empty object, moving it to each (precalculated!) location and spawning the Activator there, but it's just as many MoveTo ops as before and therefore it's just as slow.
I need some way to load an object to a target location without using MoveTo.
WTB PlaceAtLocation(Float X, Float Y, Float Z) plz!