diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-08-29 23:50:29 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-08-29 23:51:18 -0700 |
commit | 930e9eae27f354b5ddeda212231b89314cc2802e (patch) | |
tree | 172e2187da8997ac83c2f9ebdd2211a9335c8124 /termbox/x.cc | |
parent | 5cde7d513e7c228dba61729ae1c25b2e119fb5f8 (diff) | |
download | mu-930e9eae27f354b5ddeda212231b89314cc2802e.tar.gz |
2113 - stop updating entire screen on tb_present()
Mu still isn't so optimized that I can be profligate with spare cycles. Instead we'll follow termbox-go's example and create a new API routine called tb_sync() (after discussion with termbox's author). Now we only need use tb_sync() on ctrl-l. For everything else use the optimized render. Now I think I've eradicated all signs of "cursor thrashing" during refresh, in spite of how slow mu is as an interpreted language. We only render the whole screen in some situations, and only if there's no more input, and even then we only refresh the parts of the screen that changed. Thanks Jack and Caleb Couch for providing the impetus behind commits 2109-2113. I've been lazy about writing tests for all this, but it's still good to know I could, if I wanted to.
Diffstat (limited to 'termbox/x.cc')
0 files changed, 0 insertions, 0 deletions