I know how to monitor the processing and graphics load while in sleep mode, but how do you figure out how to optimize the code in the active mode when onUpdate() is triggering every second? The sleep mode loading monitor just displays zeroes when in the normal onUpdate() mode, so I don't know how to evaluate different coding styles for power efficiency.
for example, is it more efficient to draw a rectangle with dc.drawLine() and dc.setPenWidth(), or by defining the 4 corners of a polygon and calling dc.fillPoly()? Think of it in the context of analog watch hands, I have to compute the coefficients for x and y for every minute around the watch face, so drawLine() is a lot easier because it only requires the two endpoints instead of 4 corners for fillPoly(). Is there any appreciable difference in power consumption between those two options?
Also, is there any advantage to pre-calculating all 60 x/y co-ordinates and loading that into an array, then just index the array instead of computing the x/y co-ordinates each time on the fly based on the minute hand angle?
Finally, is there any way to get reliable feedback from the watch face simulator on how efficient each approach might be? In the context of the sleep mode power monitor, how would you weight the execution/graphics/display times for power consumption. Are they all equally weighted, so the total time would be the ultimate metric for sleep mode power consumption, or is one of them more dominant in power consumption? Similar question for the active mode onUpdate() code execution question asked earlier, is there anything that monitors and displays that info?
thanks.