Yes, frame by frame positional movement can be expensive although I did find it OK at 20FPS, but that is not high fidelity physics movement.
@ZappoMan and others, I encourage you to view this video which shows the complexities of high fidelity virtual physics. I just made this in the InWorldz grid which uses PhysX and my vehicles grid code. There is a ton of message optimization, taking advantage of the client viewer’s velocity and acceleration interpolation. Optimizations are critical but, nonetheless, a lot of messages are sent anyway.
It is only in rare cases that an object’s velocity will be constant or its acceleration will be constant for a long time. For constant velocity, the movement is quite unreal (low fidelity). For constant acceleration it is when an object is falling in a gravity field. Since decent physics engines simulate friction, damping or ramping force adjustments in exponential time, there will be some messages being sent most of the time. We live in a world of variable acceleration which should be mimicked virtually.
Now, yes, since each client runs local simulations of objects, the only time that corrective messages need to be sent is when the simulation owner physics engine detects DV or DA changes (collisions or other hyper-acceleration effects). It has to do that because the non-owners are simulating without collisions and without knowledge of other changes. Also consider that the clocks of the clients are running independently and that other thread activity can perturb the clients’ physics stepping rate (this is not hypothetical - I had to deal with it in another grid). So, the simulation owner needs to send out position, velocity, acceleration corrections at some minimum rate to ensure everyone stays in sync. It also has to send position, velocity, and acceleration corrective messages to all non-owners whenever collisions or any DV/DA changes occur.
So, how often would this happen?
- free space fixed velocity - minimally, enough to keep clients in sync
- rolling along a terrain mesh - often, 20+ per second, myriad collisions, bumps, skids along the surface mesh
- flying - moderately - wind effects, collisions