Response times on the USB bus

Brandon Cernicky brandon_cernicky at yahoo.com
Fri Aug 18 10:31:46 UTC 2006


Hi Nick,

The following is a reply to the questions you asked
via E-Prime Web Support.  Your questions appear to be
identical to the ones you posted to the Talkbank forum
with additional A/B/C questions posted only in Web
Support (included below).  I am responding to both Web
Support and the Talkbank forum so that others may
share in this information.

PST cannot make a blanket statement that a PS/2 or USB
device (keyboard, mouse, or otherwise) will perform
adequately for a specific paradigm.  In the Spring of
2006, PST conducted another batch of internal timing
tests with a batch of responses devices we keep on
hand.  These devices were modified by the EE group at
PST to be able to simulate a human response when
triggered by a port (parallel, BBTK, etc).  A short
summary of the response device latency test can be
viewed at
http://www.pstnet.com/products/e-prime/timing/.  One
can note that each device has its own timing
characteristics depending on the machine class and
operating system.  Significant differences can be
viewed between devices of the same class.  For
example, on a 3GHZ XP system, a modern Dell USB
Keyboard has an average of 13.98 ms and a stddev of
0.74.  On the same machine running a Belkin USB
keyboard, the numbers reported increase to 39.84
average with a stddev of 8.30.  The same differences
can be viewed with USB mice of different manufactures
and models.  Response devices of the exact model (e.g.
two MS Intellimouse Optical) may have different timing
characteristics depending on lot number and other
variations.  A reference to these types of issues are
discussed in the paper “How choice of mouse may effect
response timing in psychological studies” (Plant, R.
R., Hammond, N. V. and Whitehouse T. (2003), Behavior
Research Methods, Instruments and Computers)

There are a number of factors on how USB devices
communicate in Windows.  The operating system version,
USB version (1.1, 2.0), the USB mode speed, and the
device driver are all variables.  The following is an
edited summary from Andrew Sobotka, Computer Engineer,
Electronics Engineer at Psychology Software Tools:

USB 1.1 has low-speed and full-speed devices.  Low-
and full-speed devices can be polled at a maximum rate
of 1 khz, but (reports indicate) that Windows XP caps
low-speed HID at 125 hz (8ms).  USB 2.0 supports low-,
full-, and hi-speed devices.  Low- and full-speed
devices are still polled at 1 khz max, but a hi-speed
device can be polled at 8 khz.  Interrupt Endpoints
are defined in USB that the device informs the host
about how often it wants to be polled, at a minimum. 
This information comes from a descriptor which is
stored locally in the device's memory.  Therefore a
gaming mouse will probably have much better
performance, because its descriptors will specify a
minimum polling rate of e.g. 500 hz. To achieve rates
higher than 125 hz (8ms), the standard HID driver in
Windows may not be able to be used and will require a
custom driver offered by the manufacture of the
device.  A USB device (mouse or keyboard) with an
interrupt endpoint will inform Windows about how often
it wants polled.  A USB Host Controller will make sure
that there is bandwidth available for that packet at
the requested polling rate, as that's what the rate is
for.  A USB keyboard could have a better response time
than a USB mouse, because they use different
descriptors which specify different polling times. 
Additionally, although the USB device is successfully
sending data at the polling rate requested by the
device, Windows may or may not process the data at the
USB polling rate.  For more information on what a HID
is, please view
http://en.wikipedia.org/wiki/USB_human_interface_device_class.

Please note that a system that offers USB 2.0 ports
and has a mixture of USB 1.1 and 2.0 compliant devices
attached may perform differently when only USB 2.0
devices are attached than when USB 2.0 and USB 1.1
devices are attached since the USB host controller
must adjust to the 1.1 specifications.

Psychology Software Tools encourages researchers to
conduct timing tests on the equipment (machine,
device, etc) used in their paradigms and indicate
information about those devices in the Methods section
for replication of studies.  A blanket statement
cannot be issued for a specific response device,
machine class, or operating system.  Modern response
devices when compared to the response devices
collected in the circa 2000 E-Prime 1.0 documentation
have a much lower average and stddev values, but also
continue to have discrepancies between device class,
operating system, and machine.


The remainder of this text is in regards to replies to
your specific questions (authored by Brandon Cernicky
and AJ Sobotka of Psychology Software Tools):

<strong>
(2) PST used a PS/2 mouse in their tests -- most
modern mice (mouses?) use USB. How does a USB mouse
perform? If you take a look at the Lancaster
University web site
(www.psych.lancs.ac.uk/research/reactionTimes/input.html)
they seem to suggest that USB mice will produce a
variance in RT ranging from 0 to 8 ms, which is a
direct result of the 125 ms polling interval used by
Windows XP when sampling USB devices. This polling
frequency can, however, be changed, as the USB 2.0
standard allows for a 1 ms polling rate (1000 Hz)
(apparently, some gamers do this).
</strong>

[Brandon] The response devices and machine classes
used in the E-Prime 1.0 Documentation were of circa
2000.  Nearly all modern response devices and machines
today outperform those numbers by an order of
magnitude.  The figures reported in the timing tests
we conducted in Spring 2006
http://www.pstnet.com/products/e-prime/timing/ show
that it is possible to achieve a stddev of < 1 ms.

<strong>
(3) PST got excellent results using a keyboard as a
response device, which is surprising, as the sampling
rate of a PS/2 keyboard is actually lower than that of
a USB mouse (according to Lancaster University). In
addition, as most modern keyboards now also use USB, I
cannot see how the response time of a USB keyboard
would be better than that of a USB mouse.
</strong>

[Brandon] The type of results are device specific.  A
bargain keyboard purchased at a department store may
have components that are not higher performance than
one purchased from a PC manufacture.  The speed of any
keyboard relates to the circuitry on how quickly the
devices receive the keys.  A less efficient keyboard
may scan each key.  More modern keyboards use a matrix
with higher speed integrated circuits.  

AJ Sobotka indicates that USB Keyboard replies are
typically 10 bytes, depending on how they are built.

<strong>
(4) PST did all of their timing tests on Windows 98.
The code base of Windows XP shares nothing in common
at all with the old DOS-based Windows OSes (Win 98,
95, 3.1, etc). Timing values derived on these ancient
OSes cannot be extended to Win XP. Furthermore, I
understand that Win 2000 and 98SE polled the USB bus
more frequently than Win XP currently does. Is this
true? Would running Win 2000 with a USB high poll rate
mouse provide less variability in the response times?
</strong>

[Brandon] Your observation about the different
operating system architecture is accurate.  To provide
application threads more time, Windows 2000/XP do
permit the operating system to take control for a
larger time, but are overall/time can be more accurate
because operating system communication like this may
occur less often.  Running the PST Refresh Clock Test
experiment on the same machine running 98/XP will show
in the resultant edat file that the XP will likely
have more ticks in the lower bins but will have a few
values in the higher bin counts.  The figures reported
in the timing tests we conducted in Spring 2006
http://www.pstnet.com/products/e-prime/timing/ show
that it is possible to achieve low average and stdev
values for response devices.  For example, using a
parallel port as a response device in XP had an
average and stdev response time latency values both <
1 ms.

<strong>
So, in sum, my (additional) questions are:
(A) What is PST's current opinion with regard to using
USB devices (including both mice and keyboards) for
data collection? And why?
</strong>

[Brandon] Refer to the comments at the top of this
text.

<strong>
(B) Has PST tech heard of anyone changing their USB
sampling rates prior to running subjects in order to
address the 125 Hz default sampling-induced response
variance? How is this best done? 
</strong>

[Brandon] We have had no reports about end users
attempting to do this and at this time would not
encourage this attempt as there are more
straightforward routes (SRBOX, gaming mice, etc).

<strong>
(C) Can PST recommend any of the high-sampling-rate
gaming mice? For example, the Logitech Laser mouse G5
can sample at 500 Hz.
</strong>

[Brandon] PST at this time does not recommend any
mice.  Besides the mouse you mentioned, there appears
to be good information from the Razer Copperhead. 
http://www.everythingusb.com/razer_copperhead.html. 
If PST in the future obtains a high performance gaming
mouse, it will perform timing tests on the device and
report the results.

-Brandon

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Brandon S. Cernicky
Senior Software Engineer
Psychology Software Tools




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the Eprime mailing list