<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Forgot to add, there is nothing out of the ordinary printed in
      the verbose logs.<br>
      <br>
      If I find the time, I can look into compiling a debug build.</p>
    <p>But the problem should be reproducible somehow when just
      automatically creating a lot of labels with random styles, sizes,
      and text. Some of them should break as they did for me.</p>
    <div class="moz-cite-prefix">On 15/11/2025 17:34, Christopher
      Schnick wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c21d8e4a-7269-4290-8a70-54cbccd8a782@xpipe.io">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <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.WHVzfLGe.CMWtCP6y@xpipe.io" alt="" class=""></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"
                    moz-do-not-send="true"><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"
                    moz-do-not-send="true"><lukasz.kostyra@oracle.com></a><br>
                  <b>Cc:</b> <a
class="moz-txt-link-abbreviated moz-txt-link-freetext"
                    href="mailto:openjfx-dev@openjdk.org"
                    moz-do-not-send="true">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>
    </blockquote>
  </body>
</html>