[comp.windows.ms] Serial routines in Windows 3.0

ingea@IFI.UIO.NO (Inge Arnesen) (09/14/90)

The RS 232 support routines in Windows (OpenComm, ReadComm and so on) seems
to be very slow.

When running a terminal emulator using these rutines at 9600 or 19200 baud,
the effective baudrate is just around 3000 - 4000 baud. The Windows utility
"Terminal" is even worse. Some of this is caused by the slow scrolling of
text in graphic based environments, but we have the same emulator running
using a specially written COM: device driver in real mode, and the effective
baudrate increases to about 7000 baud. 

The test results looks like this:

Using COM: device driver from real mode Windows 3: 7000 baud
Using Windows 3.0 comms routinmes from real mode : 4000 baud
Using Windows 3.0 routines from standard mode    : 3400 baud
Using Windows 3.0 routines from enhanced mode    : 3100 baud
Using COM: device driver from enhanced mode      : 4000 baud
(the last oone with COMboosttime=10 ms)

The COM: device driver cannot be used from standard mode on a 286, since the
switch from protected to real mode takes several milliseconds, making the PC
loose several characters coming in from the line.

Why on earth are the Windows serial routines so slow, even in real mode ???
What can be done about it (don't ask me to write a compatible virtual device driver:-)

Inge (BoB)  { ingea@ifi.uio.no }
=========================================================================
==   Inge Arnesen, University of Oslo, Norway.                         ==
==                                                                     ==

rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) (09/17/90)

In article <CMM.0.88.653331152.ingea@svarte.ifi.uio.no> ingea@IFI.UIO.NO (Inge Arnesen) writes:
>The COM: device driver cannot be used from standard mode on a 286, since the
>switch from protected to real mode takes several milliseconds, making the PC
>loose several characters coming in from the line.
You can, if you use a 16550A UART and write your own DOS device driver
(as I did). I got wonderful performance under standard mode but still
poor performance under enhanced mode (damn virtual machines!).

>Why on earth are the Windows serial routines so slow, even in real mode ???
>What can be done about it (don't ask me to write a compatible virtual device driver:-)
Nothing else.

Kai Uwe Rommel

--
/* Kai Uwe Rommel
 * Munich
 * rommel@lan.informatik.tu-muenchen.dbp.de
 */