[PD] call for [comport] testing!

Mathieu Bouchard matju at artengine.ca
Mon Mar 12 17:03:15 CET 2012


Le 2012-03-11 à 15:35:00, Hans-Christoph Steiner a écrit :

> There is already buffering happening,

But there wasn't enough of it, obviously, because I modified an existing 
external that I'm not maintainer for, just to have a large enough buffer. 
I don't remember what was the original size, but it sucked.

> my guess is at the OS level, since the bytes are read in bursts, no 
> matter how fast the polling it for read or write.

At 38400 bps with 10 bits/byte, it's 3840 bytes per second. If they are 
received at full speed, they are equally spaced in time every 0.2604 ms. 
This is a time resolution that I suppose the kernel isn't especially good 
with. Back in the early days of multitasking, modem constructors even had 
to upgrade all the UART chips because OSes were not able to keep up (and 
because it was a pure waste of CPU in 99,99 % of the cases). That's when 
the buffer was upgraded from 1 byte to 16 bytes. That was precisely when 
38400 bps became a common serial rate, because 14400 bps modems all used 
MNP5 and/or v.42bis compression, and they needed to fake a fixed-rate COM 
port.

> Have you tried adjusting the size of the system buffer for serial?  Is 
> that even an option?

I don't recall. If there was an option for it, then it surely was 
unsufficient for what I was doing, which was to send elaborate vector 
graphics to a plotter.

  ______________________________________________________________________
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC


More information about the Pd-list mailing list