You are reading a single comment by @fanoush and its replies. Click here to read the full conversation.
  • Definitely from a technical standpoint, round watches are a total pain - you still need to store and transmit a square buffer even for the round screen, so you're wasting 1/4 of your memory and bandwidth.

    I can see the appeal of round watches, but I think that for Bangle.js where we're trying to be quite 'down to earth', round isn't a great fit.

    And yes, I'd love a bigger display and smaller bezel too, but display choices are pretty limited. For some reason, 1.28" screens seem kind of a standard for transflective displays. There might be some ST7301 based ones coming out at some point, but I haven't seen anything yet

  • you still need to store and transmit a square buffer even for the round screen, so you're wasting 1/4 of your memory and bandwidth.

    Actually it is a bit of pain but it is doable, if you store the circle as lines with variable length and keep size (or accumulated offset) of each line (which is even symmetrical) you can save the memory. then the pixel location in the framebuffer is not y*width+x but something like yoffsets[y]+x. when sending over spi it is sent by lines so is not that much slower. Did not do it in the end but was thinking about it for the G5 watch (454x454 resolution). 454*454=206116, 3.14*227^2~=161802
    So I would save about 21.5% of memory - a bit less with some rounding/byte padding. Not that much actually but still something.

About

Avatar for fanoush @fanoush started