I’m making an app for pebble time 2, but testing is hard because it seems performance varies between runs? (app uses no inputs) is it the os is doing things in the background? is there a way to make performance more predictable?
Hard to say.
What does the app do? What varies? How much?
Sorry for the long delay…
The app does a lot of drawing, at the same time as playing multiple streams of compressed and generated audio.
I was getting audio glitches, which I assumed was because I was using too much cpu. However the glitches seemed a bit too random for that. Also, the audio sample queue is quite large, like 0.25 s, and the framerate is 30-50 and I fill up the buffer between every frame, so a frame would need to be 10 times longer or so to exhaust the buffer…
My general impression is that glitches appear more likely under heavy cpu usage, but they also happen under lower cpu usage…
this is the app (glitch still happens on my watch): What time is it? - Pebble Appstore
This demo is fab
I too have some stuttering, but it’s so far beyond what the device was intended to do …
I’ve got the same issue in an unreleased version of my app too
I was playing with streaming a DEFLATEd file from app resources and the MIDI audio crackles really bad and is super out of sync as a result. On frames that are mostly black it crackles less, so it being a CPU issue seems to line up with your findings too. Btw your app is incredible, can’t wait for the writeup on it!
Sometimes the app seem to run flawlessly on my watch, but often one or a few small audio glitches.
Regarding “super out of sync”, I offset the visuals to account for the api buffer (4096 samples if I remember correctly)