A while back I got into a dispute with some people over the way parenting works in Garry’s Mod. They argued that having a weld constraint on a prop before it was parented would retain that prop’s physics simulation, and for some reason they believed that this would entail significant overhead on the server in larger quantities.
Of course I called BS on this, but they maintained that somehow nocolliding the props instead of welding them would somehow make the physics not simulate at all? Why it would work differently based on the props’ preexisting constraint?
So I ended up doing some research and so far nothing has been mentioned about different constraints causing different parent-entity properties. In fact, there isn’t much of anything on the subject.
From experience I know that prop:Spawn()'ing a child prop will cause some problems, and I also know that creating and parenting a prop without :Spawn()'ing it allows you to use it almost like a networked ClientsideModel, and it behaves as expected, visually staying perfectly relative to its parent. And since it was never spawned, there is no physics object.
I did manage to get this:
from the Valve wiki, and this seems to support my theory that the physics object doesn’t actually exist when you use a tool like Multi-Parent, or else it wouldn’t work at all. And in the code of Multi Parent, indeed the physobject is actually put to sleep, and there doesn’t seem to be any special treatment given to props whether their constraints were weld or nocollide.
Am I missing something? Everything I’ve dug up so far points to there being no real difference between welding and parenting and nocolliding and parenting. Since the physics object seems to be put to sleep in all cases no matter the constraint, I don’t see how welding before parenting would make any significant performance overhead at all, even in large quantities. But here I have very experienced builders (who despite their skill are very stubborn) telling me that I must be retarded for thinking this. Is there something here I’m missing? I honestly would like to know if I’m wrong about this.