About widgets performance

Fortunately very rarely, but sometimes people say that Elixir widgets drain the battery too fast. I have made a little test on my own device to check the performance. Of course, the performance depends on the device, the operating system, the environment, the operating mode, the type of widgets and other factors so this article should be regarded as a specific case.

  • Device: HTC Desire
  • ROM: CyanogenMod-7.1.0-Desire
  • Operating mode: Wi-Fi is turned on continuously in the daytime, under normal use, reading e-mails, making calls, using internet
  • Widget: a 4×2 widget: internal storage, battery usage, screen timeout toggle, reboot toggle, wifi toggle, screen lock toggle, volume, application launchers, shortcuts, empty slots

The following pictures show that I could use my phone more than 85 hours, three and a half days without charge, using wifi continuously in the daytime.

 

But if you suspect that an Elixir widget is responsible for the battery drain then you can check the performance of your widget on the Widget performance screen. This screen can be opened in two ways:

  • on the main screen of Elixir 2 click long on the widgets or statusbar icons and select the Widget performance option
  • on the widget editor screen click on the right arrow icon in the header and select the Widget performance option

On this screen you can see the following:

 

The first row shows the beginning and duration of measurement. You should wait at least a day, do not draw a conclusion for a few hours.

The next row displays the number of widget updates and the total and average update times of the widget for this period. The most important value is the percent value which displays the ratio of widget total update time and the duration of measurement. If this value is 0-1% then the widget has a good performance, doesn’t drain the battery.

If this percentage is large then you can check the list to find out which icon has the worst performance. Foremost in the list are the types which need more time to be updated. We can see that the internal storage icon was updated 59 times. This icon is updated in every minutes by default so it should have been updated 17*60+22=1042 times for the testing period. The widgets are not updated if the screen is off so this icon is updated only 59 times because of this optimization. You can see that other icons are not updated if the storage icon is, for example the Wifi icon was updated only 12 times. This is an other optimization available in Elixir 2.

The Wifi icon needs the more time to be updated but it uses only 22% of time so the widget is absolutely ok. If you put an “Unread e-mail count” icon into this widget and set 10 seconds refresh rate then you would see that updating this icon needs more than 90% percent of widget update time so it would be suggested to increase refresh rate of this icon to achieve better performance.

To sum it all we can see that the widget on my device has a very good performance.