josh@viewlog.UUCP (Josh Marantz) (04/10/90)
I have Gnu Emacs 18.55 running on my Sparc under SunOS 4.0.3, using X11R4. The refresh speed is excellent when paging forward and backward. But when doing complex operations, such as splitting windows, partial scrolls, and big kills and copies, sometimes the display seems non-optimal. It seems like it would be faster on the Sparc to do a complete repaint rather than do scroll-region (presumably through XCopyArea). How do I tell the Emacs redisplay algorithm that these scrolls are very costly? -- Joshua Marantz Viewlogic Systems, Inc. viewlog!josh@cg-atla.agfa.com Why not pass the time by playing a game of solitaire?
shurr@cbnews.ATT.COM (Larry A. Shurr) (04/11/90)
In article <1510@viewlog.UUCP> josh@viewlog.UUCP (Josh Marantz) writes: }I have Gnu Emacs 18.55 running on my Sparc under SunOS 4.0.3, using X11R4. }The refresh speed is excellent when paging forward and backward. But when }doing complex operations, such as splitting windows, partial scrolls, and }big kills and copies, sometimes the display seems non-optimal. It seems }like it would be faster on the Sparc to do a complete repaint rather than }do scroll-region (presumably through XCopyArea). How do I tell the Emacs }redisplay algorithm that these scrolls are very costly? Very likely, you can tell Emacs that repaints are cheaper by using stty to tell it you are running at a high baud rate eg: "stty 38400" Of course you're fibbing because you have no baud rate at all on the Sun display, but who cares? This is what I did on an AT&T 6386. regards, Larry -- Signed: Larry A. Shurr (cbnmva!las@att.ATT.COM or att!cbnmva!las) My psuedo-Burma Shave .signature has served me long and well and has been retired. A new .signature is now under consideration. This posting reflects my opinions, not those of AGS or AT&T, but you knew that)
rlk@THINK.COM (Robert L Krawitz) (04/11/90)
Date: 10 Apr 90 17:19:31 GMT From: att!cbnews!shurr@bloom-beacon.mit.edu (Larry A. Shurr) In article <1510@viewlog.UUCP> josh@viewlog.UUCP (Josh Marantz) writes: }I have Gnu Emacs 18.55 running on my Sparc under SunOS 4.0.3, using X11R4. }The refresh speed is excellent when paging forward and backward. But when }doing complex operations, such as splitting windows, partial scrolls, and }big kills and copies, sometimes the display seems non-optimal. It seems }like it would be faster on the Sparc to do a complete repaint rather than }do scroll-region (presumably through XCopyArea). How do I tell the Emacs }redisplay algorithm that these scrolls are very costly? Very likely, you can tell Emacs that repaints are cheaper by using stty to tell it you are running at a high baud rate eg: "stty 38400" Of course you're fibbing because you have no baud rate at all on the Sun display, but who cares? This is what I did on an AT&T 6386. I suspect that for a local emacs process you probably want to set the baud rate to 1000000 (six zeros). I once put some code in to allow me to change this (as well as some of the other display variables). It really helps.
josh@viewlog.UUCP (Josh Marantz) (04/13/90)
It looks like the way to improve refresh performance in Gnu Emacs 18.55 on X11R4 on a Sparcstation running SunOS 4.0.3 is to tell emacs that the baud rate is very high, say 1000000. Unfortunately, there's no way to do this from elisp. This modification to x11fns.c supplies a new function x-set-baud, which you can call from your .emacs. This seems to work well for me. Thanks to all who responded. *** x11fns.c.orig Wed Apr 11 13:18:24 1990 --- x11fns.c Fri Apr 13 12:15:44 1990 *************** *** 456,461 **** --- 456,471 ---- return (Qnil); } + DEFUN ("x-set-baud", Fx_set_baud, Sx_set_baud, 1, 1, "nBaud Rate: ", + "Sets the apparent baud rate to influence the refresh algorithm") + (new_baud_rate) + { + CHECK_NUMBER (new_baud_rate, 1); + check_xterm (); + baud_rate = XINT (new_baud_rate); + return (Qnil); + } + DEFUN ("x-set-font", Fx_set_font, Sx_set_font, 1, 1, "sFont Name: ", "Sets the font to be used for the X window.") (arg) *************** *** 892,897 **** --- 902,908 ---- defsubr (&Sx_rebind_keys); #endif notdef defsubr (&Sx_debug); + defsubr (&Sx_set_baud); } #endif /* HAVE_X_WINDOWS */ -- Joshua Marantz Viewlogic Systems, Inc. viewlog!josh@cg-atla.agfa.com Why not pass the time by playing a game of solitaire?