RFR: 8247332: Checkbox reaches inconsistent state on tap to click
Kevin Rushforth
kevin.rushforth at oracle.com
Wed Dec 23 13:17:30 UTC 2020
FWIW, we ran into the same thing for JavaFX. We also added logic to
suspend CVDisplayLink when idle:
https://bugs.openjdk.java.net/browse/JDK-8189926
-- Kevin
On 12/23/2020 1:44 AM, Alexey Ushakov wrote:
> Thanks, Ajit!
>
> Nevertheless I think that we still can use CVDisplayLink for our purpose (it should help for such things as live resize/animation) but we need to suspend it in the idle state of application.
>
> Best Regards,
> Alexey
>
>> On 23 Dec 2020, at 12:31, Ajit Ghaisas <ajit.ghaisas at oracle.com> wrote:
>>
>> Hi Alexey,
>>
>> Jay and I have discussed this internally yesterday.
>> He is on vacation and will address it on his return.
>>
>> Regards,
>> Ajit
>>
>>> On 22-Dec-2020, at 10:41 PM, Alexey Ushakov <alexey.ushakov at jetbrains.com> wrote:
>>>
>>> No, It’s just static picture. CVDisplayLink is the reason of the continuous callbacks. It’s a good thing if you do animation, but for async updated model it is not necessary. Probably we should suspend display link (there is an api for this) after receiving all necessary updates.
>>>
>>>> On 22 Dec 2020, at 19:43, Alan Snyder <javalists at cbfiddle.com> wrote:
>>>>
>>>> Do your UI by any chance have a blinking caret?
>>>>
>>>>
>>>>
>>>>> On Dec 22, 2020, at 8:02 AM, Alexey Ushakov <alexey.ushakov at jetbrains.com> wrote:
>>>>>
>>>>> Hi Jay,
>>>>>
>>>>> I’ve just updated my sources to the latest Lanai version and found one problem - continuous execution of the following methods for the simple static UI application:
>>>>>
>>>>> [V] MTLLayer_display() called
>>>>> [V] MTLLayer_blitTexture
>>>>> [V] MTLLayer_displayLinkCallback() called
>>>>> [V] MTLLayer_display() called
>>>>> [V] MTLLayer_blitTexture
>>>>> [V] MTLLayer_displayLinkCallback() called
>>>>> [V] MTLLayer_display() called
>>>>> [V] MTLLayer_blitTexture
>>>>> [V] MTLLayer_displayLinkCallback() called
>>>>> [V] MTLLayer_display() called
>>>>>
>>>>> It’s look like waste of CPU time. Did you measured CPU usage before/after the fix?
>>>>> I think that we still should consider async model for standard (business) GUI applications.
>>>>> What do you think?
>>>>>
>>>>> Best Regards,
>>>>> Alexey
>>>>>
>>>>>
>>>>>
>>>>>> On 18 Dec 2020, at 08:48, Jayathirth D V <jdv at openjdk.java.net> wrote:
>>>>>>
>>>>>> This fix implements usage of CVDisplayLink for blitting content into CAMetalLayer and solves many event based state issues. Detailed analysis in JBS bug.
>>>>>>
>>>>>> -------------
>>>>>>
>>>>>> Commit messages:
>>>>>> - Cleanup logs and experimental code
>>>>>> - Merge branch 'master' into JDK-8247332
>>>>>> - Remove GCD usage to not block app main thread
>>>>>> - Remove startBlit references
>>>>>> - Add appropriate state management for CVDisplayLinkRef
>>>>>> - Remove continuous CVDisplayLinkStart and update states
>>>>>> - Initial CVDisplayLink change
>>>>>>
>>>>>> Changes: https://git.openjdk.java.net/lanai/pull/146/files
>>>>>> Webrev: https://webrevs.openjdk.java.net/?repo=lanai&pr=146&range=00
>>>>>> Issue: https://bugs.openjdk.java.net/browse/JDK-8247332
>>>>>> Stats: 43 lines in 3 files changed: 31 ins; 11 del; 1 mod
>>>>>> Patch: https://git.openjdk.java.net/lanai/pull/146.diff
>>>>>> Fetch: git fetch https://git.openjdk.java.net/lanai pull/146/head:pull/146
>>>>>>
>>>>>> PR: https://git.openjdk.java.net/lanai/pull/146
More information about the lanai-dev
mailing list