probably just you computer that is slow doing simulation with gazebo.
mavlink input are handled at more than 50hz, so that is instant. But the latest mavlink packet won. So if you send a lot of data, the latest will be executed and override previous command.
You need to look up what is the bottleneck of your simulation, most probably command are executed in time but your sim time is slow. So look at the logs to get an answer.
@bobzwik Could you clarify this? What do you mean by realtime?
From my narrow understanding, SITL is just an abstraction of reality. So realtime simulation is not possible, right? Or did I completely miss your question?
There is no reset to default… You may have a gsc resetting the streamrate. By default if you launch SITL with sim_vehicle.py, you run mavproxy that set the streamrate for you. You need to disable streamrate control from mavproxy (on launch --streamrate -1), I don’t remember on the prompt.
Then the stream rate got no relationship with how the inputs are handle. Stream rate are just to get message output from ArduPilot. You can still send inputs at 400hz on copter even without setting a single stream rate
About realtime. Simulator can run in realtime. That mean that 1 s of simulated time is 1s in reality.
Most probably in your case, 1s of reality isn’t 1s of sim time. Thus the lag you mentioned
I meant, if you knew if 1 second of your simulated time is equal to 1 second in real time. If your computer is not powerful enough, it might take longer to simulate 1 second. Which could explain why the drone reacts slowly to commands.