On Thu, 17 Dec 2020 23:43:39 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> Your latest patch looks exactly like what I would expect. I need to do some >> multi-screen testing on Windows with different scale factors. >> >>> ... the repaint for the affected Region does not seem to occur right away >>> on moving the window to another screen, but only once the Region is >>> interacted with (e.g. hovering the mouse over it). >> >> This seems like a different (and preexisting) bug then. I think we're up to >> three follow-on issues if I haven't lost track: >> >> 1. Rendering a cached node doesn't match rendering it directly even when the >> transform is unchanged. >> 2. TextFlow: methods copied from Region have not picked up subsequent >> changes in those methods >> 3. Need to Render and layout scene out when scale changes (either when >> moving to a screen with a different scale or when the scale changes as the >> result of changing the setting of the current screen) > > I did some testing with your latest patch, and I don't see any problem when > dragging a window between screens with different scales. It seems to be > recalculating the cached insets and using them in layout as I would expect. > Do you have a test case that shows the problem? Unfortunately I've only seen it within an application with a fairly complex scene graph, which make isolating the issue tricky. I'm still trying to reproduce it a minimal sample, but in the mean time, please have a look at the a screen capture below, which should at least help clarify the issue I'm observing:  This snippet is captured after the window had been moved from a screen scaled to 100% to a second one scaled to 150%; notice how the controls in the "Chart Properties" pane only snap to pixel when the mouse pointer enters the pane. ------------- PR: https://git.openjdk.java.net/jfx/pull/308