improve scroll speed on Win9x

Kazuhiro Fujieda fujieda@jaist.ac.jp
Sun May 16 10:53:00 GMT 1999


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 <fujieda@jaist.ac.jp>
  | HOKURIKU  School of Information Science
o_/ 1990      Japan Advanced Institute of Science and Technology


More information about the Cygwin-developers mailing list