Previews for shared buffer PR

Johan Vos johan at lodgon.com
Sat Jul 6 17:03:01 UTC 2019


The code for this build comes from the PR source
https://github.com/arapte/openjdk-jfx/tree/JDK-8167148-NIO-ByteBuffer (which
has changed in the meantime).
I'm not sure the error you describe is due to this PR though.

Having said that, I agree we need to make sure GTK 2 is still supported.

- Johan

Op za 6 jul. 2019 om 07:46 schreef Ty Young <youngty1997 at gmail.com>:

>
>
> 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