-
• #2
Hi - the best bet is to render in smaller chunks - for example the openstreetmap app renders the user's track a hundred points at a time using setInterval, and then it can work alongside everything else.
Have you seen gipy? https://banglejs.com/apps/?id=gipy&readme
It seems like it might do a similar thing already? As I understand it, it stores the map data in a binary format on the Bangle which is a bit faster and more memory efficient
-
• #3
Thanks for gipy pointer. I tried it, and it is fun, but it was unable to render area bigger than two villages. I aim to be limited by flash size, not RAM size. (And yes, I'll be switching to binary).
Thanks for setInterval hint. I'll try to think how to do it in a nice way.
I'm working on vector map application for Bangle.js -- code is available here: https://github.com/espruino/BangleApps/pull/2981
But I'm quickly running into limits of hardware, system limits, and limits of my knowledge of JavaScript. Help is wanted.
Is there a way to do some kind of multitasking? I guess "abort expensive computation if user action is detected" would already be a huge improvement for me. Drawing map takes seconds to minute, aborting the draw when user requests move would be good.