[squeak-dev] Time>>eventMillisecondClock and event timestamps

David T. Lewis lewis at mail.msen.com
Tue Sep 15 15:04:09 UTC 2020


I do not have any specific solution or approach in mind, but I think
that we should first look at how we might handle this better in the
image. The Windows VM is not doing anything wrong, on the contrary I
think that its policy of using native MSG timestamps feels like the
right thing to do.

It seems to me that the problem is our assumption that event timestamps
should match the millisecond clock in the VM. Certainly that can
be made to work, but seems to me like fixing the wrong problem.

Time class>>eventMillisecondClock is a recent addition. Maybe we
can find another way to synthesize event time stamps in the image.

Dave


On Tue, Sep 15, 2020 at 04:32:59PM +0200, Marcel Taeumel wrote:
> Hi all.
> 
> Here is a quick thought: It should be possible to synthesize events from within the image to then use those synthesized events along with regular events. Think about testing, mouse over etc. Thus, either #eventMillisecondClock should be platform-specific, or all event timestamps that come from the VM should be similar ... which means that the Windows VM code needs to be changed to not use the MSG structure but ioMSecs.
> 
> Best,
> Marcel
> Am 12.09.2020 21:58:50 schrieb David T. Lewis <lewis at mail.msen.com>:
> Thanks Tim,
> 
> I've been digging through version control history, and I think what
> I see is that the assumption of prim 94 matching prim 135 was valid
> through the life of the interpreter VM (squeakvm.org SVN sources) but
> that it had changed for Windows as of the public release of Cog.
> 
> I don't see anything wrong with the Windows VM implementation (aside
> from the one bug that Christoph fixed), instead I think we may just
> be dealing with a holdover assumption that is no longer valid.
> 
> I'm inclined to think we should see if we can make the prim 135
> dependence go away in the image. Some other way of synthesizing event
> time stamps maybe?
> 
> Dave
> 
> On Fri, Sep 11, 2020 at 03:45:35PM -0700, tim Rowledge wrote:
> > I think the key thing is that the answers from the primitive 135 must be aligned with the tick values obtained from primitive 94.
> >
> > Of course if prim 94 is properly functional (all elements of the event array are correctly filled in) then prim 135 should never be needed; it was created for those machines that waaaaay back when I added the input events still couldn't provide such data. I'm not entirely sure there actually were any....
> >
> > The only usage of prim 135 not related directly to events seems to be SmalltalkImage>>#vmStatisticsReportOn:, though there are several methods that looks a bit iffy.
> >
> > EventSensor>>#createMouseEvent is only used in a couple of places to do with rectangle transforming interactively, and probably ought to be improved.
> > EventSensor>>#nextEventSynthesized is only used if the EventSensor has no event queue and that is ... a bit complex but probably should never happen since we removed the old InputSensor years and years ago.
> > EventSensor>>#primGetNextEvent: - since we declare the prim essential maybe we should drop the fake-it code and really insist on the prim being there?
> > MorphicEvent>>#timeStamp looks like a probably redundant backup?
> > MouseEvent>>#asMouseMove looks like the new MouseMoveEvent ought to copy the time stamp from the receiver?
> >
> >
> >
> > tim
> > --
> > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> > There are no stupid questions. But, there are a lot of inquisitive idiots.
> >
> >
> >
> 

> 



More information about the Squeak-dev mailing list