On Tue, 10 Jun 2025 16:13:10 GMT, Laurent Bourgès <lbour...@openjdk.org> wrote:

> These alpha masks are constant (static), so reused in marlin java2d where 
> multiple threads & rendering contexts can work in parallel. With FFM, the 
> global arena could be used, but the current patch is good enough as javafx 
> uses only 1 thread to perform rendering. I hope using the shared arena does 
> not hurt performance in this case (1 thread).

By deferring the creation to the first time a MaskMarlinAlphaConsumer object is 
constructed, I was able to continue using the confined arena, so there is no 
use of a shared arena in Marlin for JavaFX.

I had also thought about the global arena, since the alpha objects are global 
(static) objects that are never released. That might be a better choice, and is 
probably what you will need to do anyway for Java2D. If there is no performance 
penalty for accessing data from a memory segment created using the global 
arena, then we could switch to that for JavaFX as well.

@minborg Do you have any advice regarding this?

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1814#issuecomment-2960144994

Reply via email to