Quote: " sync() // = Update() Render() Swap() "
It only updates 2D physics by the way, not really 3D physics. For that you need to still call Step3DPhysicsWorld() before the Sync() or Update() Render() Swap() if you manage the buffer/rendering manually).
The manual is actually slightly confusing, because Update() doesn't update 3D physics when Step3DPhysicsWorld() isn't called.
And StepPhysics(time) is an optional command mostly useful for pausing physics, and generally called by Sync() or Update().
Using a second Sync() in an If statement most likely causes a frozen frame or huge stutter. I would never use multiple Sync() calls.