In the ArdupilotVehicle class we have a method called getDeepVariables, which is responsible for scanning each incoming message and storing variables and their values.
Doing some tests, I could see that this operation only is responsible for about 11% of CPU usage on a Mac Air M1 2020 machine. This represents a third to half the CPU usage of Cockpit, when excluding the Map widget.
This operation is responsible for giving life to the VeryGenericIndicator, which is something our users like a lot.
Optimizing it would lead to a great performance increase.
In the
ArdupilotVehicle
class we have a method calledgetDeepVariables
, which is responsible for scanning each incoming message and storing variables and their values.Doing some tests, I could see that this operation only is responsible for about 11% of CPU usage on a Mac Air M1 2020 machine. This represents a third to half the CPU usage of Cockpit, when excluding the Map widget.
This operation is responsible for giving life to the VeryGenericIndicator, which is something our users like a lot. Optimizing it would lead to a great performance increase.