Michael Smith b9531248d1 xf86EloReadInput(): fix xserver unresponsiveness during touch
The fix for bug #14109 ensures all bytes are emptied from the OS buffer
by looping until xf86WaitForInput returns 0.  This patch just changes
the timeout from 1 millisecond to 0: we don't want the X server to block
if there's no more serial data.

It also removes the Vmin and Vtime options, which were making the calls
to read() block until a complete 10-byte packet buffer could be filled.
At 9600 bps, this could pause the X server for up to 9 ms. The code can
already handle partial buffers, so all we have to do is get rid of the
Vmin.

Also, if xf86EloGetPacket() returns !Success, we should continue rather
than break so the xf86WaitForInput call can decide whether to exit, in
case there's more data in the buffer.

Before the fix, glxgears was giving me about 390 FPS normally and down
to 140 FPS when dragging an empty area of the touchscreen. Now it's
basically unchanged when the touchscreen is in use (390 -> 385 FPS).

X.Org Bug 14109 <https://bugs.freedesktop.org/show_bug.cgi?id=14109>

Signed-off-by: Michael Smith <msmith@cbnco.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-12-16 08:53:55 +10:00

xf86-input-elographics - Elographics input driver for the Xorg X server

Please submit bugs & patches to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/driver/xf86-input-elographics

        http://cgit.freedesktop.org/xorg/driver/xf86-input-elographics

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage
Description
xf86-input-elographics
Readme 743 KiB
Languages
C 93.1%
Makefile 5%
Shell 1%
M4 0.9%