[squeak-dev] Fractional bounds and flickering (contains images that may be disturbing to some readers)

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Tue Oct 22 11:39:57 UTC 2019


Hi all,


In the latest days, I encountered flickering problems caused by non-integer bounds of system windows again. For me, the following fails reproducibly in different images:


SystemWindow new openInWorld extent: (24214/31)@(11565/31).


If I hover and unhover the window a few times, its contents are drawn badly and incompletely like this:


[cid:c4d513fa-a423-45b7-9cda-1182a88d7d4a]


  *   As you can see, the issue also affects other morphs in the same region (in the screenshot I am hovering the implementors button of the background browser).
  *   The issue only occurs with very complex fractions, so the extent 500 @ 300 / 2 would not be a problem (at least in my image). I could not reproduce it using floats.
  *   The situation can be also reproduced by composing a few morphs manually, but the more submorphs there, the higher the flickering rate appears to be.
  *   [World imageForm] does not contain any abnormalities, maybe the problem is related to the damage recording?

I would like to solve this bug, but I'm not sure where the problem actually arises. In general, should morphs be allowed to have non-integer bounds? This could be useful e. g. for exact animations, but we already have some rounding that (unfortunately) rule out this use case:

  *   #position: appears to round the delta value for movement
  *   #extent: and #bounds: do no rounding at all.

Should we maybe apply some rounding or at least truncating there? Or just convert the arguments using #asFloat before?
Or do you have any idea how one could debug the problem?

(For relevancy: I often call Preferences >> #changeFontSize:, and each time all windows are drawn badly until I round their bounds. This can indeed be quite annoying:
[cid:e830eb65-4369-445c-acec-b060b136e348])

Looking forward to your help!
Best,
Christoph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191022/2a786987/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 11956 bytes
Desc: pastedImage.png
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191022/2a786987/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 510104 bytes
Desc: pastedImage.png
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191022/2a786987/attachment-0003.png>


More information about the Squeak-dev mailing list