This is the mail archive of the
cygwin-developers@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: improve scroll speed on Win9x
- To: cygwin-developers@sourceware.cygnus.com
- Subject: Re: improve scroll speed on Win9x
- From: Chris Faylor <cgf@cygnus.com>
- Date: Mon, 17 May 1999 11:23:09 -0400
- Cc: shonnon@armory.com
- References: <s1s90ao52bu.fsf@jaist.ac.jp>
This patch essentially reverts the changes that were added last
month. They were actually contributed by Keith Reynolds. I'm hoping
he will be able to comment on the problems that have been noted.
-chris
On Mon, May 17, 1999 at 02:52:53AM +0900, Kazuhiro Fujieda wrote:
>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
--
cgf@cygnus.com
http://www.cygnus.com/