<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;">Hi Lukasz</span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;"> </span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;">just tried the build under <a href="https://jdk.java.net/javafxdirect3d12/" target="_blank" rel="noopener noreferrer">https://jdk.java.net/javafxdirect3d12/</a> with some applications (not sure if that is the newest though).</span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;">Thing look very good, however, I found two issues:</span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;"> </span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;">When I toggle fullScreen on the primary stage with: <span style="font-family: 'courier new', courier;">stage.setFullScreen(..)<span style="font-family: arial, helvetica, sans-serif;"> <span style="font-family: verdana, geneva;">, I get an exception (D3D12 swapchain is NULL):</span></span></span></span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;"><span style="font-family: 'courier new', courier;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: verdana, geneva;"><br>java.lang.NullPointerException: D3D12 swapchain is NULL<br> at javafx.graphics@25-direct3d12/com.sun.prism.d3d12.D3D12SwapChain.<init>(D3D12SwapChain.java:66)<br> at javafx.graphics@25-direct3d12/com.sun.prism.d3d12.D3D12SwapChain.create(D3D12SwapChain.java:78)<br> at javafx.graphics@25-direct3d12/com.sun.prism.d3d12.D3D12ResourceFactory.createPresentable(D3D12ResourceFactory.java:338)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:81)<br> at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)<br> at java.base/java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:369)<br> at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java)<br> at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)<br> at java.base/java.util.concurrent.FutureTask.<init>(FutureTask.java:153)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.RenderJob.<init>(RenderJob.java:45)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.quantum.PaintCollector.lambda$liveRepaintRenderJob$2(PaintCollector.java:330)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.quantum.PaintCollector.liveRepaintRenderJob(PaintCollector.java:329)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.quantum.GlassViewEventHandler$ViewEventNotification.get(GlassViewEventHandler.java:810)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.quantum.GlassViewEventHandler$ViewEventNotification.get(GlassViewEventHandler.java:770)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)<br> at javafx.graphics@25-direct3d12/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleViewEvent(GlassViewEventHandler.java:850)<br> at javafx.graphics@25-direct3d12/com.sun.glass.ui.View.handleViewEvent(View.java:543)<br> at javafx.graphics@25-direct3d12/com.sun.glass.ui.View.notifyResize(View.java:884)<br> at javafx.graphics@25-direct3d12/com.sun.glass.ui.win.WinView.notifyResize(WinView.java:91)<br> at javafx.graphics@25-direct3d12/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)<br> at javafx.graphics@25-direct3d12/com.sun.glass.ui.win.WinApplication.lambda$runLoop$0(WinApplication.java:168)<br> at java.base/java.lang.Thread.run(Thread.java:1474)<br></span></span></span></span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;"><span style="font-family: 'courier new', courier;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: verdana, geneva;"> </span></span></span></span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;"><span style="font-family: 'courier new', courier;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: verdana, geneva;">The other problem is related to LineChart. For me, sometimes the lines and the text is not rendered on the x and y axis.<br>When the axis change, it will render them again, but they will always disappear again after resizing the window.</span></span></span></span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;"><span style="font-family: 'courier new', courier;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: verdana, geneva;"> </span></span></span></span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;"><span style="font-family: 'courier new', courier;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: verdana, geneva;">Let me know if I should create an issue, or if I should build the branch by myself and test again! :)<br><br>-- Marius</span></span></span></span></div>
<div style="font-family: 'verdana'; font-size: 12px; color: #000;"><span style="background-color: #ffffff;"> </span></div>
<div id="sub-body-container" style="margin: 10px 5px 5px 10px; padding: 10px 0px 10px 10px; border-left: 2px solid rgb(195, 217, 229);">
<div style="margin: 0px 0px 10px;">
<div><strong>Gesendet: </strong>Montag, 14. Oktober 2024 um 17:24</div>
<div><strong>Von: </strong>"Lukasz Kostyra" <lukasz.kostyra@oracle.com></div>
<div><strong>An: </strong>openjfx-dev <openjfx-dev@openjdk.org></div>
<div><strong>Betreff: </strong>JavaFX Direct3D 12 rendering pipeline for Windows</div>
</div>
<div class="WordSection1">
<p class="MsoNormal">Hello openjfx-dev,</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">we just pushed a prototype of a new JavaFX Direct3D 12 rendering pipeline</p>
<p class="MsoNormal">for Windows to a new "direct3d12" branch on jfx-sandbox. It is more than an</p>
<p class="MsoNormal">experiment branch - we intend to fully develop the D3D12 backend there.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">We're not necessarily looking for contributions at this point, but if anyone</p>
<p class="MsoNormal">has early feedback about it or wants to try it by building it themselves,</p>
<p class="MsoNormal">that would be fine. We also did not test it on a wider range of hardware, so</p>
<p class="MsoNormal">your mileage may vary. While D3D12 pipeline will build by default, D3D9</p>
<p class="MsoNormal">pipeline is still the default pick at runtime. To run anything on D3D12</p>
<p class="MsoNormal">pipeline you need to force it with ex.:</p>
<p class="MsoNormal"> java -Dprism.order=d3d12 ...</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Backend supports 2D rendering (albeit with some graphical issues here and there</p>
<p class="MsoNormal">that need to be ironed out) and basic 3D rendering. Expect not everything fully</p>
<p class="MsoNormal">working yet (ex. some gradients on 2D controls are incorrect, or 3D-in-2D will</p>
<p class="MsoNormal">straight up not work) and the performance not matching D3D9 yet. Our goal is to</p>
<p class="MsoNormal">first reach feature completion and then focus on performance.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Lukasz</p>
</div>
</div>