<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>This commit fixes the problem when the property is set to false
      and it shows up again if the property is not set to false</p>
    <div class="moz-cite-prefix">On 03/12/2025 5:54 PM, Lukasz Kostyra
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:IA3PR10MB868298C18CF5080852E3DCE3FED9A@IA3PR10MB8682.namprd10.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator"
        content="Microsoft Word 15 (filtered medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <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.EmailStyle20
        {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="EN-US">Hi Christopher,<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 did not find the way
            to reproduce this locally, but I found a problem with one of
            the optimizations that is in the backend. To double check if
            that is in fact the issue I pushed
            <a
href="https://github.com/openjdk/jfx-sandbox/commit/7078d621dc282ab8439800b84b78377dec3eea89"
              moz-do-not-send="true" class="moz-txt-link-freetext">
https://github.com/openjdk/jfx-sandbox/commit/7078d621dc282ab8439800b84b78377dec3eea89</a>
            to disable the optimization (it is on by default, disabling
            it fixes that specific problem on my end) and I’d like to
            double-check if this is the correct lead.<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">When you have a moment,
            could you build JFX with that change and run your app with
            “-Dprism.d3d12.clearOpts=false” added to the command line?<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 persists
            with prism.d3d12.clearOpts set to false I would need some
            more information on how these labels are rendered to track
            this down.<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">Thanks,<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> Friday, 28 November 2025 13:25<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> OpenJFX <a class="moz-txt-link-rfc2396E" 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 did not encounter the vanishing issue anymore with that
          build, so at least it is usable.<o:p></o:p></p>
        <p>However, the font rendering issue still exists for some
          nodes:<o:p></o:p></p>
        <p><img border="0" width="810" height="247"
            style="width:8.4375in;height:2.5729in" id="_x0000_i1026"
            src="cid:part1.X09ZTuPL.wp6Ov5is@xpipe.io" class=""><o:p></o:p></p>
        <p>It is not deterministic, meaning that if I just scroll the
          scrollpane forward and back, the same text might get rendered
          correctly.<o:p></o:p></p>
        <p>Also, did you see the performance results I posted for my AMD
          system? Performance was quite bad there, so this is not in a
          stage where I can test this in production a bit.<o:p></o:p></p>
        <div>
          <p class="MsoNormal">On 28/11/2025 12:41, Lukasz Kostyra
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span lang="PL">Hi Christopher,</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="PL"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">I just pushed a fix
              for JDK-8371995 onto direct3d12 branch in the sandbox -
              <a
href="https://urldefense.com/v3/__https:/github.com/openjdk/jfx-sandbox/tree/direct3d12__;!!ACWV5N9M2RV99hQ!KuiGt3yDg1iNtCswOA3yLUbPKFpTnRKQE9clxnsd6xQRhnGJLoz7c697JC77xG2Q4qwsMWDePar6hRx9DY1uTPpy$"
                moz-do-not-send="true">
                https://github.com/openjdk/jfx-sandbox/tree/direct3d12</a>
              . If you find a moment, could you build JFX from that
              branch and check if your app works correctly?</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">-Lukasz</span><o:p></o:p></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">
                  openjfx-dev
                  <a href="mailto:openjfx-dev-retn@openjdk.org"
                    moz-do-not-send="true"><openjfx-dev-retn@openjdk.org></a>
                  <b>
                    On Behalf Of </b>Lukasz Kostyra<br>
                  <b>Sent:</b> Monday, 17 November 2025 15:14<br>
                  <b>To:</b> Christopher Schnick <a
                    href="mailto:crschnick@xpipe.io"
                    moz-do-not-send="true"><crschnick@xpipe.io></a><br>
                  <b>Cc:</b> OpenJFX <a
                    href="mailto:openjfx-dev@openjdk.org"
                    moz-do-not-send="true"><openjfx-dev@openjdk.org></a><br>
                  <b>Subject:</b> RE: Re: JavaFX Direct3D 12 - Second EA
                  release</span><o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">I might’ve found the
              problem, there is an assertion that triggers when multiple
              text objects using different fonts are drawn. It could be
              related (AFAIK Label controls will eventually end up at
              the same text rendering routines as Text nodes).
              Assertions are compiled out on Release for performance, so
              there is a chance it would corrupt the rendering without
              anything meaningful shown on screen.<br>
              <br>
              To track this I just filed <a
                href="https://bugs.openjdk.org/browse/JDK-8371995"
                moz-do-not-send="true" class="moz-txt-link-freetext">
                https://bugs.openjdk.org/browse/JDK-8371995</a> . I will
              check it and let you know when I fix it.</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">On your side It might
              still be handy to build JFX in DebugNative, to confirm if
              the triggered assertion is the same and to later confirm
              if the fix is working for you too.</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">-Lukasz</span><o:p></o:p></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
                    href="mailto:crschnick@xpipe.io"
                    moz-do-not-send="true" class="moz-txt-link-freetext">crschnick@xpipe.io</a>>
                  <br>
                  <b>Sent:</b> Saturday, 15 November 2025 17:39<br>
                  <b>To:</b> Lukasz Kostyra <<a
                    href="mailto:lukasz.kostyra@oracle.com"
                    moz-do-not-send="true" class="moz-txt-link-freetext">lukasz.kostyra@oracle.com</a>><br>
                  <b>Cc:</b> OpenJFX <<a
                    href="mailto:openjfx-dev@openjdk.org"
                    moz-do-not-send="true" class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a>><br>
                  <b>Subject:</b> Re: [External] : Re: JavaFX Direct3D
                  12 - Second EA release</span><o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"> <o:p></o:p></p>
          <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.<o:p></o:p></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.<o:p></o:p></p>
          <div>
            <p class="MsoNormal">On 15/11/2025 17:34, Christopher
              Schnick wrote:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <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:<o:p></o:p></p>
            <p><img border="0" width="810" height="501"
                style="width:8.4375in;height:5.2187in"
                id="Picture_x0020_1"
                src="cid:part2.mcIqXqxn.xIs0Cn1j@xpipe.io" class=""><o:p></o:p></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.<o:p></o:p></p>
            <div>
              <p class="MsoNormal">On 13/11/2025 16:30, Lukasz Kostyra
                wrote:<o:p></o:p></p>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <p class="MsoNormal"><span lang="PL">Thanks for checking.</span><o:p></o:p></p>
              <p class="MsoNormal"><span lang="PL"> </span><o:p></o:p></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.</span><o:p></o:p></p>
              <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></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.</span><o:p></o:p></p>
              <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></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.</span><o:p></o:p></p>
              <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></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”.</span><o:p></o:p></p>
              <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></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.</span><o:p></o:p></p>
              <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
              <p class="MsoNormal"><span lang="EN-US">Good luck!</span><o:p></o:p></p>
              <p class="MsoNormal"><span lang="EN-US">- Lukasz</span><o:p></o:p></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 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
                        href="mailto:lukasz.kostyra@oracle.com"
                        moz-do-not-send="true"><lukasz.kostyra@oracle.com></a><br>
                      <b>Cc:</b> <a
                        href="mailto:openjfx-dev@openjdk.org"
                        moz-do-not-send="true"
                        class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a><br>
                      <b>Subject:</b> [External] : Re: JavaFX Direct3D
                      12 - Second EA release</span><o:p></o:p></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"> </span><o:p></o:p></p>
                <p style="margin:5.0pt"><span
                    style="font-size:10.0pt;color:black">Confidential-
                    Oracle Internal</span><o:p></o:p></p>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </div>
    </blockquote>
  </body>
</html>