Just for kicks I tried using the base64 in my code, and that works fine.
Ahh, that's interesting, thanks! I just tried here and I can reproduce, and I think the issue is if you're using a paletted image and loading it from flash, it maybe calculates the image start offset wrong. I'll see if I can get a fix in for that.
Is there a performance difference between doing that and calling up an image stored on the device?
Yes - it's a hard one to quantify - but if you have the image in RAM all the time (eg as a global variable, rather than with the base64 inside the function that renders it) then it'll be much faster.
Since you're using 'optimal 2 bit' the image should be pretty small, so I'd say maybe keep it (and the other hands too) in RAM, and it'll make the clock face update much faster.
... but I'll see what I can do about the image loading issue anyway
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Ahh, that's interesting, thanks! I just tried here and I can reproduce, and I think the issue is if you're using a paletted image and loading it from flash, it maybe calculates the image start offset wrong. I'll see if I can get a fix in for that.
Yes - it's a hard one to quantify - but if you have the image in RAM all the time (eg as a global variable, rather than with the base64 inside the function that renders it) then it'll be much faster.
Since you're using 'optimal 2 bit' the image should be pretty small, so I'd say maybe keep it (and the other hands too) in RAM, and it'll make the clock face update much faster.
... but I'll see what I can do about the image loading issue anyway