RFR: 8247332: Checkbox reaches inconsistent state on tap to click

Alexey Ushakov alexey.ushakov at jetbrains.com
Tue Dec 22 16:02:32 UTC 2020


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