Previews for shared buffer PR

Ty Young youngty1997 at gmail.com
Sat Jul 6 05:35:32 UTC 2019



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?



More information about the openjfx-dev mailing list