Comment by conartist6

19 hours ago

From what I recall they generally avoid caching anything and just try to repaint the whole UI really, really fast on every frame so I think that's the design.

It's like how a video game renders, which is their stated goal from the beginning.

I always thought their stated design goals were a bit... wonky.

If you look into strace of something like IMGUI demo on say sdl2+opengl backend, you'll see about same syscall/sec number at 60 fps, but it'll all be sequences of writev, recvmsg, poll, clock_gettime and DRM_IOCTL_SYNCOBJ_ ioctls. Which is basically just polling for input and submitting gpu command buffers, nothing expensive, and nothing a cache can help with.

  • That does not really matter though: Even immediate-mode approach programs should just not be drawing new frames when the program logic says that there are no new inputs that can result in different pixels (e.g. no user inputs, animations, notifications, text content changes, etc.). One does not need to "poll" for input.

    • But a video game does!

      You see why I think their logic that an IDE should work exactly like a video game does is not as strong as it sounds at first.

      They claim browser engines just lack the raw speed to build an experience like Zed, but I know of no reason that it should be true.