From ace7ffb714ce5314c665f28945ee0f3f1664f9ca Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sun, 16 Apr 2017 15:02:42 -0700 Subject: 3824 - experiment: stop buffering in termbox Now it's much more apparent why things are slow. You can see each repaint happening. Already I fixed one performance bug -- in clear-rest-of-screen. Since this subverts Mu's fake screen there may be bugs. Another salubrious side effect: I've finally internalized that switching to raw mode doesn't have to clear the screen. That was just an artifact of how termbox abstracted operations. Now I can conceive of using termbox to build a repl as well. (I was inspired to poke into termbox internals by http://viewsourcecode.org/snaptoken/kilo and https://github.com/antirez/linenoise) --- 081print.mu | 23 ----------------------- 1 file changed, 23 deletions(-) (limited to '081print.mu') diff --git a/081print.mu b/081print.mu index 487696c5..f654a5ae 100644 --- a/081print.mu +++ b/081print.mu @@ -50,13 +50,6 @@ def clear-screen screen:&:screen -> screen:&:screen [ *screen <- put *screen, cursor-column:offset, 0 ] -def sync-screen screen:&:screen -> screen:&:screen [ - local-scope - load-ingredients - return-if screen # do nothing for fake screens - sync-display -] - def fake-screen-is-empty? screen:&:screen -> result:bool [ local-scope load-ingredients @@ -620,22 +613,6 @@ def show-cursor screen:&:screen -> screen:&:screen [ show-cursor-on-display ] -def hide-screen screen:&:screen -> screen:&:screen [ - local-scope - load-ingredients - return-if screen # fake screen; do nothing - # real screen - hide-display -] - -def show-screen screen:&:screen -> screen:&:screen [ - local-scope - load-ingredients - return-if screen # fake screen; do nothing - # real screen - show-display -] - def print screen:&:screen, s:text -> screen:&:screen [ local-scope load-ingredients -- cgit 1.4.1-2-gfad0