[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8211294: ScrollPane content is blurry with 125% scaling [v6]
From:       Kevin Rushforth <kcr () openjdk ! java ! net>
Date:       2020-12-23 16:52:57
Message-ID: Rg-SARn3_WlqLxxkFU6skngB6wnxsa2mx_s3d9b3fbk=.b5f5f707-f5ec-4395-81b0-301a60334469 () github ! com
[Download RAW message or body]

On Wed, 23 Dec 2020 09:55:14 GMT, Frederic Thevenet <fthevenet@openjdk.org> wrote:

> > This PR aims to fix the blurriness to sometimes affects some controls (such as \
> > TextArea) in a scene when rendered with a scaling factor that is not an integer \
> > (typically when viewed on a HiDPI screen with a 125%, 150% or 175% output \
> > scaling). 
> > Please note that regardless of what the JBS issue (and therefore the title of \
> > this PR) states, this does not appear to be a Windows only issue as I have \
> > observed the same issue on Linux (Ubuntu 20.04). 
> > The following conditions are necessary for the blurriness to appear, but do not \
> > guarantee that it will: 
> > - The node, or one of its parents, must have set `Node::cacheProperty` to `true`
> > 
> > - The scaling factor (as detected automatically or explicitly set via \
> > glass.win/gtk.uiScale) must be a non integer number (e.g. 1.25, 1.5, 175) 
> > - The effective layout X or Y coordinates for the cached node must be != 0;
> > 
> > Under these conditions, the translate coordinates for the transform used when the \
> > cached image for a node is rendered to the screen may be non integer numbers, \
> > which is the cause for the blurriness. 
> > Based on these observations, this PR fixes the issue by simply rounding the \
> > translate coordinates (using `Math.round`) before the transform is applied in \
> > `renderCacheToScreen()` and as far as I can tell, it fixes the blurriness in all \
> > the previously affected applications (both trivial test cases or with complex \
> > scenegraphs) and does not appear to introduce other noticeable visual artifacts. 
> > Still, there might be a better place somewhere else higher up in the call chain \
> > where this should be addressed as it could maybe be the root cause for other \
> > rendering glitches, though I'm not yet familiar enough with the code to see if it \
> > is really the case.
> 
> Frederic Thevenet has updated the pull request incrementally with one additional \
> commit since the last revision: 
> Addressed comments from review

Looks good.

-------------

Marked as reviewed by kcr (Lead).

PR: https://git.openjdk.java.net/jfx/pull/308


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic