Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com Sender: fujieda AT elbereth DOT jaist DOT ac DOT jp To: cygwin-developers AT sourceware DOT cygnus DOT com Subject: improve scroll speed on Win9x Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=US-ASCII From: Kazuhiro Fujieda Date: 17 May 1999 02:52:53 +0900 Message-ID: Lines: 45 X-Mailer: Gnus v5.3/Emacs 19.34 I don't feel like using recent snapshots on my Pentium 133MHz Win95 box because of slowness of the scroll speed. ScrollSonsoleScreenBuffer() become very slow on Win9x after it is called several times repeatedly. So if a scroll region isn't set, fhandler_console::write_normal() should output '\n' instead of calling scroll_screen() like past snapshots. --- fhandler_console.cc- Tue May 11 12:33:18 1999 +++ fhandler_console.cc Mon May 17 02:42:34 1999 @@ -987,20 +987,18 @@ break; case DWN: cursor_get (&x, &y); - - if (get_w_binary ()) - cursor_rel (0, 1); - else - { - x = 0; - cursor_set (FALSE, x, y + 1); - } - if (y == srBottom) { - scroll_screen (0, srTop + 1, -1, srBottom, 0, srTop); - cursor_set (FALSE, x, y); + if (y < info.winBottom || scroll_region.Top) + scroll_screen (0, srTop + 1, -1, srBottom, 0, srTop); + else + WriteFile (get_output_handle (), "\n", 1, &done, 0); } + else + y++; + if (!get_w_binary ()) + x = 0; + cursor_set (FALSE, x, y); break; case BAK: cursor_rel (-1, 0); ____ | AIST Kazuhiro Fujieda | HOKURIKU School of Information Science o_/ 1990 Japan Advanced Institute of Science and Technology