Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!amdcad!rpw3 From: rpw3@amdcad.AMD.COM (Rob Warnock) Newsgroups: comp.protocols.tcp-ip Subject: Re: interrupt-driven vs. polled I/O performance Message-ID: <25394@amdcad.AMD.COM> Date: 25 Apr 89 08:05:59 GMT References: <25231@amdcad.AMD.COM> <421@logicon.arpa> Reply-To: rpw3@amdcad.UUCP (Rob Warnock) Organization: [Consultant] San Mateo, CA Lines: 84 In article <421@logicon.arpa> Makey@LOGICON.ARPA (Jeff Makey) writes: +--------------- | In article <25231@amdcad.AMD.COM> rpw3@amdcad.UUCP (Rob Warnock) writes: | >But the echo delay doesn't need to be kept to a *minimum*, but only | >well below the objectionable level to the human user. | >I claim that 100ms for echo is not noticable to a user of a video display | Your point about only needing to keep echo delay below the level of | perception is well taken. However, 100ms is 1/10 second, which I am | sure I would find quite noticeable (my terminal runs at 19,200 baud). +--------------- But you're only typing about 5 chars/sec. What I'm saying is that the hand-eye echo delay can be a large fraction (even >1) of the inter-keystroke time before it becomes noticeable. The fact that you are using 9600, 19200, or 56k baud is irrelevant. [O.k. you're a touch-typist, and are doing 10 c/s... but touch-typists depend even *less* on visual feedback.] +--------------- | Taking a cue from motion pictures, I would assume that 1/30 second is | the order of magnitude of the level of perception, but I would want to | perform some experiments with different delays and lots of people to | make sure. :: Jeff Makey +--------------- Well, the analogy doesn't really apply. 1. We're not talking about merging a succession of frames into a seamless whole here ["eye-eye coordination", if you will], but [in the worst case] about maintaining hand-eye coordination between cursor keys and cursor location. 2. There is actually very little feedback from visual input back to the keyboarding process; the major feedbacks are (a) auditory -- you *hear* the keys being struck, and (b) tactile -- you *feel* the keys hitting bottom (or clicking or whatever). Compared to these two, the visual feedback (for most people) is quite minor, and is almost ignored. 3. Most error detection while typing is unrelated to the visual perception; it has instead to do with typing the wrong thing, and then *realizing* it without having to see it. [You may not believe this at first, but watch someone else type for a while...] Of course, it was quite true that when the echo from the computer *did* have a large auditory component, as with the Teletype [*klunk* *klunk*], then the 1/10 second delay [110 baud] between keyboard and typehead was quite noticable [*ker*-*chunk* *ker-chunk*]. And when you used a Teletype in full-duplex with host echo, that gave you 2/10 sec delay [*ker*-gap-*chunk* *ker*-gap-*chunk*] that was initially annoying [the "rubber band" touch], but users got used to it. [They had to.] With a video display, the irritation begins when the delay is such that there is a noticable mismatch in action and result. In my experience, this starts about 0.2-0.3 sec, but gets *really* bad above about 1 second, when it becomes difficult to match cursor key strikes to cursor location. [Even worse is the sort of variation you get with program-"echo" on a loaded system or with Telnet on a slow connection, where you think you're typing ahead the right number, only to stop and see the cursor "coast" far beyond where you wanted it.] But you can try the experiments you want fairly easily by modifying a copy of Telnet [doing it in the client's easiest] to delay sending keystrokes in to the host by some amount of time. I have no really hard data to hand, but based comment from users when I was building async mux networks back at Dig. Comm. Assoc., I'd still say that a hand-eye echo delay [with *no* auditory component of echo from the "display"!] of 100ms is not noticable, and up to 200-300ms is quite acceptable. [But note that that has to encompass *all* components of the echo path, including possibly several layers of terminal servers and intermediate Telnet hosts, if that's what a "typical" user does. Design goals of 20-50ms each for terminal input and output dally/startup timers are probably o.k.] This should probably go in comp.ergonomics, except that is *is* germane to designing networking systems that balance efficiency and latency considerations... Rob Warnock Systems Architecture Consultant UUCP: {amdcad,fortune,sun}!redwood!rpw3 DDD: (415)572-2607 USPS: 627 26th Ave, San Mateo, CA 94403