Nodes are not rendered after window resize
Christopher Schnick
crschnick at xpipe.io
Sun Aug 25 11:40:11 UTC 2024
Hello,
so it seems like there is a rare bug in JavaFX (at least on Windows)
where after a resize operation, some controls are rendered as white
boxes. I had this issue on the latest JavaFX 24 ea build on Windows 10.
There were no exceptions thrown or methods called from a non-platform
thread. I was not able to reproduce this consistently so far. I would
argue it happens around every 50 runs of an application for me.
There were a couple of posts with videos of the problem:
-
https://www.reddit.com/r/JavaFX/comments/1bvdeny/random_portions_of_the_ui_flashing_white_no/
-
https://mail.openjdk.org/pipermail/openjfx-dev/2023-November/043584.html
(I wrongly reported it as a toolbar bug, it seems to be a more general one)
I can sometimes enter this state shown in the videos by resizing a stage
from for example 1280x720, to fullscreen, back to 1280x720, and to
fullscreen again. It seems like the renderer dimensions become broken in
some cases and are no longer updated on consecutive scene resize
operations, so they always stay on an old value. If in this case the
scene fits into a stage with size 1280x720 and is resized to fullscreen,
any nodes outside the old scene bounds are rendered as these white
artifacts, presumably because the renderer thinks that they are not
visible. It seems like the renderer thinks they are outside the
scene/stage because it still has the old scene dimensions. I was not
able to get the application out of this invalid state without restarting it.
If anyone could advise me on what kind of properties I can pass to
JavaFX or what kind of actions I can do to narrow this down, that would
be great.
Best regards, Christopher
More information about the openjfx-dev
mailing list