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