[comp.unix.xenix] curses efficiency

chad@lakesys.UUCP (D. Chadwick Gibbons) (01/28/89)

        I've noticed that when using SCO XENIX 2.2.2 curses that calls to
refresh() say after a single character is to be placed on the screen (a great
example is your average 'talk' clone) that the cursor seems to home to the
beginning of the line, and then back to the position where the next character
is to be put; places the character, homes back to the beginning of the line,
and then goes to the position out there again.  This is at it's worse at baud
rates ranging between 2400 and 4800.  On BSD curses this doesn't happen (at
least not that I have seen.)

        Is there a way to overcome this in xenix curses?  A obscure mode
setting that I know nothing about?  Or am I doomed to having inefficient curses
routines.  I would think the former, since I am using the SCO word processor
right now (lyrix) and it is NOT doing this.

-- 
D. Chadwick Gibbons, chad@lakesys.lakesys.com, ...!uunet!marque!lakesys!chad

tyager@apollo.COM (Tom Yager) (01/29/89)

[ some stuff about curses hopping between column 1 and the position
  of each character written ]

I've seen this, too. There are a couple of ways to fix it:

   1. Compile against termcap curses. I think it does not show the
      problem, but I'm not entirely sure. 

   2. Start your output on other than column 1. That sounds like a
      silly solution, but the glitch only seems to occur when there
      is a character at the far left of the line. In an application
      I wrote, I indented all the input lines three spaces and the
      problem went away.

Good luck.
(ty)

-- 
+-Tom Yager, Apollo Computer R&D----------------------ARPA: tyager@apollo.com-+
| My technical writing endeavors are             -or- tyager%maxx@m2c.m2c.org |
| entirely separate from the work I                                           |
+-do for Apollo.--------------------------------------------------------------+