real-time, time to display, accuracy of event timestamps

Timothy Rowledge tim at sumeru.stanford.edu
Fri Feb 13 23:20:11 UTC 2004


Most OSs can provide microsecond timing values (as Andreas said, the 
accuracy and precision are probably very variable) and in fact I wrote 
a minimally usable microsecond time returning prim for the exobox 
project (it merely provided a SmallInteger microsecond count with no 
attempt to worry about wrapping etc).

The display framerate is certainly an issue; the only OS I've ever come 
across that attempted to address this is RISC OS, which has an OS level 
event that tells you when the frame flyback occurs and in its BASIC has 
a way to make display wait until the next flyback. What you could try 
is modifying the ioForceDisplay to post an event to the VM with some 
suitable new type and the information is just the timestamp. That way 
you can track the time of each display and you might just possibly be 
able to work out a relationship with the frame rate. Might there be (in 
windows for example) some API to track the display framerate for games 
purposes?

Another issue that might affect you is the timestamp put on the events; 
it's added _at the time the event is queued in the VM_ not the time the 
OS detects it - except in the case of some events in Windows, which 
appears to extract a timestamp from the OS event.

If you have enough time to spare to investigate all this you might well 
get something very interesting working.

tim




More information about the Squeak-dev mailing list