Measurement clarification

I’ve tried to understand whether we are in a warp or not. I’ve checked the Text in the “speed” box in ship ui. Interesting thing:

When I update Sanderling?.MemoryMeasurementParsed?.Value and get ShipUi.SpeedLabel.Text, it gives me updated speed. It’s ok. If speed changes in game, it changes in my script. But when I go into warp, text in script doesn’t change - it still gives me “last info about speed”. And it gives me “(Warping)” only after I use InvalidateMeasurement and update measurement.

The question: when should I use InvalidateMeasurement and when shouldn’t?

The question: when should I use InvalidateMeasurement and when shouldn’t?

You should only use InvalidateMeasurement when you want to make sure that a following call to “MemoryMeasurement” or “MemoryMeasurementParsed” does not return a Measurement which has been started before your call to InvalidateMeasurement.

Not every call to one of the MemoryMeasurement properties results in a new measurement, instead a measurement which has been taken previously can be returned.

When you send an input to the game via the functions provided for this purpose, this will also Invalidate the measurement. But not only up to the time of the input, this invalidation extends into the future to account for delays in the eve online client UI from input to reaction.