Subject: Re: Q: How can I reduce the time of mouse positioning?
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 12 Dec 2000 03:47:10 GMT
Newsgroups: comp.lang.lisp
Message-ID: <91473u$9n2d9$1@fido.engr.sgi.com>
Sungwoo, Lim <sungwoo@cad.strath.ac.uk> wrote:
+---------------
| When I trace the points of a stroke, I got usually disuncontinuous
| points as below. The gap between points are wider if I draw faster.
| 2 > stroke-array-x
| #(32 33 41 51 75 106 146 187 227 274 315 347 373 397 433 441 447 452
| 456 456)
| I presume this is related to the time of a mouse position check...
| If so, is there any way to adjust this time?
+---------------

Perhaps, but not in Lisp itself. The resolution & frequency of mouse
updates is a property of the underlying window system (X Windows, MacOS,
or MS Windows). Consult the relevant window library manuals for the system
you're using for details. For example, the X Protocol Reference Manual
says [Vol.0, p.214 (O'Reilly 1990)]:

	X11 Proctocol Event: MotionNotify
	...
	The granularity of motion events is not guaranteed, but a client
	selecting for motion events is guaranteed to get at least one
	event when the pointer is moved and then comes to rest.

On some systems, you will get no more than one mouse motion events per
system scheduling clock; on others, no more than one per vertical retrace
of the display; etc., etc.

If you need finer granularity than the system provides, consider doing
your own interpolation (linear, spline [e.g., Bezier], whatever) in your
application.


-Rob

-----
Rob Warnock, 31-2-510		rpw3@sgi.com
Network Engineering		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043