[Cuis-dev] VectorGrahicsPlugin Troubles (WAS: Re: A few tweaks to preferences)
Gerald Klix
cuis.01 at klix.ch
Sat Aug 21 11:47:10 PDT 2021
On 8/21/21 8:07 PM, Juan Vuletich via Cuis-dev wrote:
> On 8/21/2021 2:41 PM, Gerald Klix via Cuis-dev wrote:
>>
>>
>> On 8/21/21 7:20 PM, Juan Vuletich via Cuis-dev wrote:
>>> On 8/21/2021 7:53 AM, Gerald Klix wrote:
>>>> Hi guys,
>>>>
>>>> see below please.
>>>>
>>>> On 8/21/21 4:56 AM, Phil B via Cuis-dev wrote:
>>>>> Juan,
>>>>>
>>>>> On Fri, Aug 20, 2021 at 10:34 PM Juan Vuletich via Cuis-dev <
>>>>> cuis-dev at lists.cuis.st> wrote:
>>>>>
>>>>>> Thanks Gerald. I have experienced occasional crashes when zooming
>>>>>> heavy
>>>>>> windows, but this surely makes it more likely to happen. I can't
>>>>>> test it
>>>>>> right now (I need Windows or Linux),
>>>> No, you don't, this package works with the simulated
>>>> key-press-generated mouse-scroll-events, too.
>>>
>>> You are right. Check the attaches, that I needed to make it work on
>>> Mac (in Mac, ctrl + scroll controls the OS zoomin facility, and Cuis
>>> won't get those events).
>> IC. I did not know about that rawMacOptionKeyPressed stuff, we should
>> abstract that away, before this dease spreads through the image ;=].
>
> Well, in regular PCs don't have an option key, instead they have the
> "Windows" key, and Linux and Windows VMs don't report it. That's why it
> is named in a clearly platform specific way in Cuis.
>
> Suggestions welcome!
I am undecided.
This mouse-scroll adventure started, because I wanted
these Windows, Menu and AltGr-keys (and all the mouse buttons)
reported by the VM at least under Linux.
I think I can get it working with Windows, too.
If we do that, we will introduce about an incompatibility with
Squeak. As I said in another post:
Til now I could resist the temptation to tweak the VM.
I will think about that, this will take some time.
>
>>
>> The Core changes stuff is a superset of the exercise left to the
>> gentle reader ;-}
>>>
>>>>>> but I thought of a possible reason
>>>>>> for the problem. If many drag-the-scale-handle events are
>>>>>> processed in
>>>>>> the same Morphic cycle, and processing each takes too much time, next
>>>>>> cycle will take longer, so it will process even more of those
>>>>>> events (if
>>>>>> generated at a constant rate by an insisting user). The growth is
>>>>>> exponential, with no bound. So this is guaranteed to end badly!
>>>>>>
>>>>>
>>>>> Yes, this can be an issue with non-VG Morphic too if one isn't
>>>>> careful.
>>>>> I've run into it with everything from scrolling to mouse moves to
>>>>> dragging
>>>>> etc. VG likely just makes it a more frequent issue given the
>>>>> overhead of
>>>>> the increased drawing time per frame
>>>>>
>>>>>
>>>>>>
>>>>>> I just pushed an update that limits the processing of
>>>>>> MouseMoveEvents to
>>>>>> just one per cycle. The other kinds of events are much less likely to
>>>>>> cause this kind of problems (although not completely impossible), and
>>>>>> are (as usual) processed until the event queue is empty.
>>>> Thanks your change now prevents SegFaults. I tested with Haver and
>>>> Cuis.
>>>
>>> Nice.
>> Ah, well, see my latest post. I suppose it's time for another VM build
>> with latest vmmaker and plugin. This time I wont strip it.
>>>
>>>>>>
>>>>>
>>>>> Please don't discard events like this. It will have an impact on
>>>>> sensitivity/resolution which is already not great. Can we do some
>>>>> combination of coalescing and/or more selectively discarding them
>>>>> instead?
>>>> It certainly feels a good deal more sluggish now, Cuis, with it's
>>>> nice background bitmap, more than Haver. If you use a true-type font
>>>> instead of the standard bitmap font, Haver is faster when zooming
>>>> windows, moving windows however is slower (big surprise, that :).
>>
>> I suppose it would make sense to automatically suppress window display
>> when it takes too long during a move,
>> like Preferences class>>#cheapWindowReframe but a bit smarter.
I looked at the reframing code, it already has some hard-coded
timeouts for switching to a simpler and faster resize hinting.
>>
>> Apropos "reframe': If you scale a SystemWindow, and change it's size
>> by DND the outline rectangle is not scaled.
>
> Yes. Something like that would be especially good on slow hardware.
>
>>
>>
>> Best Regards,
>>
>> Gerald
>
> Thanks,
>
More information about the Cuis-dev
mailing list