Redraw logic
First off, thanks so much for your work on this and Draft. I've been having a blast using vim to write prose on my reMarkable device. One thing I've noticed is that refresh is a bit sluggish and any sort of swift movement tends to cause these jagged triangles to flash on the screen.
Seems to be related to the redraw() logic, but I'm not super familiar with QT or C++.
Out of curiosity, what would it take to tighten up the redraw logic? Maybe if we're lucky, @sandsmark has a pointer or two up his sleeve he'd be willing to share? 😄
Thank you, that's very kind!
You are right, the issues you note are also things I've run into. I'm not sure how to leverage the fast redraw magic of rM's native app, as fingerterm isn't my own work. Though I would be very interested to see progress on this as well! I know the reMarkable rust API is quite mature and it might be possible to call out to that?
Oh interesting. I might have to poke around at that :)
the rust api doesn't really implement anything better, it basically just wraps the code that fingerterm calls in practice. and you're hitting the physical limitations more or less.
but jagged lines sounds like lack of vsync, easiest way to solve that is to not redraw and update the entire display every time something changes. Konsole has more clever code for this, but the reason I just used fingerterm is because the Konsole is much more complex (because of things like this).
https://github.com/KDE/konsole/blob/master/src/TerminalDisplay.cpp#L1306-L1321