I've been working on a new theme. This theme refers to a lot of features. According to the saved file:
"features": "LOCATION WEATHER FORECAST GYRO MUSIC FITNESS TRAFFIC SIGNAL NOTIFICATIONS UNREAD NETWORK_INFO"
The CPU on my device usually sits at 21% while I'm in the editor. I can see this via a text field that simply shows the CPU usage. It fluctuates as normal, but 21% is its resting place. Once the theme is applied and I'm looking at it in my launcher, it sits at 71%.
I've deleted things piece by piece to see what the cause is, and it appears to be a combination of my Location, Music, Battery, and Network modules. When I delete some of these, I fall down to 54%, and when I delete them all, I sit back down at 21% usage.
For kicks, I tried disabling Parallel Rendering, and suddenly I sit at 21%. There are fairly heavy fluctuations, though. I see it most often hit 54% and 71%, and these happen at fairly regular intervals.
I believe it's likely the amount of calls to the various APIs or registers that are keeping my CPU usage high. My guess is that with parallel processing disabled, it does less of these at once and allows the CPU a break between each, but that's purely a hunch.
Is there a way to adjust the polling rate for each of the features? Can you provide any insight on what these polling rates are, so I can cross-check them against the timing I'm seeing in spikes? What the heck is causing this only on the applied wallpaper, but not in the editor?
The formulas I'm gathering information with in the aforementioned modules are as follows:
Battery
- Progress bar
- bi(fast)
- bi(charging)
- bi(current)
- bi(volt)
- bi(fullempty)
Location
- li(lat)
- li(lon)
- li(altm)
- li(spd)
- li(addr)
Music (YouTube Music)
- mi(cover)
- mi(artist)
- mi(title)
- Progress
- Level: mi(percent)
- Time left / time played
- based on gv(music/mutime)
- tf(mi(pos),mm:ss)
- tf(mi(len)-mi(pos), mm:ss)
Network
- nc(cell)
- nc(dtypes)
- nc(dtype)
- Progress
- Level: nc(siga)
- nc(csigd)
- nc(carrier, 0)
- Progress
- Level: nc(wspeed)
- nc(wrssi)
- nc(wspeed)
- nc(ssid)
- nc(ifip)
- ts(ttx)
- ts(trx)