On 6/7/19 4:40 AM, Johan Vos wrote:
The PR discussed in https://github.com/javafxports/openjdk-jfx/pull/472,
addressing https://bugs.openjdk.java.net/browse/JDK-8167148 provides a very
much wanted feature. It is important that things are done in the right way
so that the code can be maintained in the long-term future.
Therefore, feedback on this PR is extremely important before we can
consider merging it. Once this PR is merged, there is no easy way back. It
is possible to add more functionality, hence my preference is to only
implement the functionality that is safe and stable, while allowing other
functionality to be added later or by third-party extensions. (e.g.
(avoiding) copying from/to GPU)

To make it easier to give feedback, we've build early access versions of
SDK's including this PR. Note that the PR is not merged, hence not
available in the regular EA downloads!

If you want to give it a try, download the SDK's from the URL's below.
There is a test in tests/manual/graphics/PixelBufferPerformanceTest (
https://github.com/arapte/openjdk-jfx/blob/JDK-8167148-NIO-ByteBuffer/tests/manual/graphics/PixelBufferPerformanceTest.java)
that should get you started.

https://download2.gluonhq.com/openjfx/forks/pixelbuffer/openjfx-13-pixelbuffer-ea+9_linux-x64_bin-jmods.zip
https://download2.gluonhq.com/openjfx/forks/pixelbuffer/openjfx-13-pixelbuffer-ea+9_linux-x64_bin-sdk.zip
https://download2.gluonhq.com/openjfx/forks/pixelbuffer/openjfx-13-pixelbuffer-ea+9_osx-x64_bin-jmods.zip
https://download2.gluonhq.com/openjfx/forks/pixelbuffer/openjfx-13-pixelbuffer-ea+9_osx-x64_bin-sdk.zip
https://download2.gluonhq.com/openjfx/forks/pixelbuffer/openjfx-13-pixelbuffer-ea+9_windows-x64_bin-jmods.zip
https://download2.gluonhq.com/openjfx/forks/pixelbuffer/openjfx-13-pixelbuffer-ea+9_windows-x64_bin-sdk.zip

- Johan


FYI this SDK causes a hard system crash when GTK is set to 2 and/or prism.forceUploadingPainter is set to true. I don't feel like purposefully crashing my system to see which of the various combinations is the issue so forgive me for not providing a more narrowed down cause.

GTK 2 is still necessary as there are still lingering GTK3 bugs that have yet to be fixed even in current JavaFX 13.

prism.forceUploadingPainter is a prism setting that fixes buffer resets and other various GUI glitching under Linux(an issue I tried reporting a long time ago) which affects ALL JavaFX applications under Linux but dramatically increases GPU utilization by 2x-2.5x when doing any kind of application interaction(resizing, scrolling, etc). Is there a reason this isn't enabled by default under Linux besides performance? Where is the documentation for this and other settings? I randomly ran into this from http://werner.yellowcouch.org/log/javafx-8-command-line-options/ and was surprised noone really knows about it nor is it documented anywhere that I can see.


Even with GTK 3 this results in a null pointer exception:


java.lang.NullPointerException
    at javafx.graphics/com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java:223)     at javafx.graphics/com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java:40)     at javafx.graphics/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:87)     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)     at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
    at javafx.graphics/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)     at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125


Please don't merge this into JDK13 or at least provide a switch to disable it. This is extremely busted on Linux.


Can the source code for this entire JavaFX build please be linked?

Reply via email to