<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Ok, so I had more time to debug it. The one weird thing I
observed when it was working was that some labels have corrupted
text rendering:</p>
<p><img src="cid:part1.nHPaqebr.0hRZYAgi@xpipe.io" alt=""></p>
<p><br>
Not all of them, most are fine. There are no differences in terms
of style classes etc. between the labels. When scrolling, the
rendering sometimes switches between this corrupted and normal
state after some delay.<br>
<br>
After a while I also figured out that text rendering is
responsible for the issue of the nodes vanishing: Certain label
contents broke the renderer. For example, in my application, the
string "Password manager" when assigned to a label broke it and
nothing was rendered anymore. I tried to find an easy reproducer
but was not able to. It's probably very dependent on all the
different style classes that influence the text shape/size/etc.</p>
<div class="moz-cite-prefix">On 13/11/2025 16:30, Lukasz Kostyra
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:DM3PPF3367D7B9B751B25F083A68EF6D7F0FECDA@DM3PPF3367D7B9B.namprd10.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator"
content="Microsoft Word 15 (filtered medium)">
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span lang="PL">Thanks for checking.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="PL"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">It is very possible the
D3D12 runtime did not like something, could be related to
your specific hardware. D3D12 by now has many extensions
which differ depending on hardware and can lift certain
restrictions - we already internally had a case where one
GPU had some restriction that was not enforced on another
GPU and we had to accommodate that.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The first step would be
to try running D3D12 with “-Dprism.verbose=true
-Dprism.debug=true”. These should print additional logs that
might have some extra information.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">If there’s nothing
useful there, next step would be to build JavaFX with
-PCONF=DebugNative - this will compile shaders in Debug, add
assertions and debug logs to the backend - and then run your
app with D3D12 debug layers and GPU debugging enabled by
adding “-Dprsim.d3d12.debugLayers=true
-Dprism.d3d12.gpuDebug=true”. Those will slow down the app
significantly, but will also tell D3D12 to run additional
API use and GPU use checks.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">If the problem happens
during a render loop and debug layers catch it, there is a
chance it will cascade into other errors and spam the
console output - you can tell D3D12 debug layers to trigger
an assertion on first encountered error with
“-Dprism.d3d12.breakOnError=true”.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I am running out of time
today to check this myself, but if you find something let me
know - I’ll try to reproduce the problem myself and we’ll
see where we go from there.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Good luck!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- Lukasz<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div
style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US"
style="mso-ligatures:none;mso-fareast-language:#0C00">From:</span></b><span
lang="EN-US"
style="mso-ligatures:none;mso-fareast-language:#0C00">
Christopher Schnick <a class="moz-txt-link-rfc2396E" href="mailto:crschnick@xpipe.io"><crschnick@xpipe.io></a>
<br>
<b>Sent:</b> Thursday, 13 November 2025 16:11<br>
<b>To:</b> Lukasz Kostyra
<a class="moz-txt-link-rfc2396E" href="mailto:lukasz.kostyra@oracle.com"><lukasz.kostyra@oracle.com></a><br>
<b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:openjfx-dev@openjdk.org">openjfx-dev@openjdk.org</a><br>
<b>Subject:</b> [External] : Re: JavaFX Direct3D 12 -
Second EA release<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>I just tried to run a project with provided jmods and at some
point, certain nodes are just not rendered anymore and the
window contents vanish. But they render for a short period of
time.<br>
<br>
There is no exception thrown as far as I can see, so not sure
what you need for debugging.<br>
<br>
For testing, this is the built application with the d3d12
jmods that you can use to attempt to reproduce the problem:
<a
href="https://urldefense.com/v3/__https:/we.tl/t-DJuX0BeqXm__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xn7hHbsl_$"
moz-do-not-send="true">
https://we.tl/t-DJuX0BeqXm</a> . It is built from these
sources: <a
href="https://urldefense.com/v3/__https:/github.com/xpipe-io/kickstartfx__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xn9_QfENu$"
moz-do-not-send="true">
https://github.com/xpipe-io/kickstartfx</a><o:p></o:p></p>
<div>
<p class="MsoNormal">On 13/11/2025 14:40, Lukasz Kostyra
wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Hello openjfx-dev,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">The second Early Access(EA) build of
JavaFX with the Windows Direct3D 12 rendering pipeline is
now available at:
<a
href="https://urldefense.com/v3/__https:/jdk.java.net/javafxdirect3d12/__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xnw7Bj6i8$"
moz-do-not-send="true">
https://jdk.java.net/javafxdirect3d12/</a><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Please test this bundle and share your
feedback by:<o:p></o:p></p>
<p class="MsoNormal">- emailing <a
href="mailto:openjfx-dev@openjdk.java.net"
moz-do-not-send="true" class="moz-txt-link-freetext">openjfx-dev@openjdk.java.net</a>
or<o:p></o:p></p>
<p class="MsoNormal">- reporting issues via JBS[<a
href="https://bugs.openjdk.org/" moz-do-not-send="true"
class="moz-txt-link-freetext">https://bugs.openjdk.org/</a>]
or at
<a
href="https://urldefense.com/v3/__https:/bugreport.java.com__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xn-g1RFIV$"
moz-do-not-send="true">
https://bugreport.java.com</a><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">This is the second EA release. The
backend is feature-complete
<span lang="EN-US">and went through a first optimization
pass</span>, but it <span lang="EN-US">
still </span>requires <span lang="EN-US">some </span>more
testing <span lang="EN-US">
on more hardware variants </span>before we can consider
it complete. As such, with this release we also would like
to call for
<span lang="EN-US">help with </span>performance <span
lang="EN-US">testing the backend
</span>(more details on that will be sent in a separate
email thread).<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Known issues and pending tasks are
captured on JBS and can be accessed using the filter
provided on the Direct3D 12 EA page [<a
href="https://urldefense.com/v3/__https:/jdk.java.net/javafxdirect3d12/__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xnw7Bj6i8$"
moz-do-not-send="true">https://jdk.java.net/javafxdirect3d12/</a>].
Before reporting a new bug, please review the existing
issues to avoid duplicates.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Important Notes:<o:p></o:p></p>
<p class="MsoNormal">1. This is a Windows-specific feature, so
only a Windows-specific bundle is provided.<o:p></o:p></p>
<p class="MsoNormal">2. The default rendering pipeline is set
to d3d12. Use "-Dprism.order=d3d" or "-Dprism.order=sw" to
select one of the other pipelines for comparison testing.<o:p></o:p></p>
<p class="MsoNormal">3. It is recommended to use JDK 25 or
later.<o:p></o:p></p>
<p class="MsoNormal">4. At this stage D3D12 backend is
feature-complete and went through the first phase of
optimization.
<span lang="EN-US">I</span>t is worth noting <span
lang="EN-US">that, while generally we noticed performance
improvements,</span> it might not be
<span lang="EN-US">on par with D3D backend on every machine
combo - </span>we already noted performance being worse
on recent NVidia discrete GPUs [<a
href="https://bugs.openjdk.org/browse/JDK-8370486"
moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8370486</a>]
and are looking for solutions.<o:p></o:p></p>
<p class="MsoNormal">5. Issue behavior may vary across
different hardware<span lang="EN-US">, so
</span>please provide detailed information, such as the
output of "java -Dprism.verbose=true" or used hardware, when
reporting or discussing issues.<o:p></o:p></p>
<p class="MsoNormal">6. Refer: Run HelloWorld using JavaFX SDK
[<a
href="https://urldefense.com/v3/__https:/openjfx.io/openjfx-docs/*install-javafx__;Iw!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xn8uMZKUY$"
moz-do-not-send="true">https://openjfx.io/openjfx-docs/#install-javafx</a>]<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">We look forward to your feedback.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Regards,<o:p></o:p></p>
<p class="MsoNormal">Lukasz<o:p></o:p></p>
<p class="MsoNormal"><span
style="mso-ligatures:none;mso-fareast-language:#0C00"><o:p> </o:p></span></p>
<p style="margin:5.0pt"><span
style="font-size:10.0pt;color:black">Confidential- Oracle
Internal<o:p></o:p></span></p>
</blockquote>
</div>
</blockquote>
</body>
</html>