prism.maxvram limitation
Eduard Sedov
eduard.sdv at web.de
Tue May 14 13:46:32 UTC 2024
Hi all,
There is a long-lived bug in JavaFX: JDK-8089112: Need to handle the case of a failed texture load when rendering large images
JavaFX manages a pool of resources that is limited to 512Mbytes by default. This limit can be increased by setting the 'prism.maxvram' system property.
This limit is reasonable for the GraphicsPipelines (the D3DPipeline and the ES2Pipeline) that are backed by a graphics device that has such a limitation.
But it does not make sense for pipelines that use only the main memory: the J2DPipeline and perhaps the SWPipeline.
The J2DPipeline is currently used for printing. For example, printing an image on Letter paper using 600PPI printer requires 134_640_000 bytes. When the printed image is redirected to a PDF printer, even higher resolution is needed to get adequate quality because the PDF can zoom in. This often exceeds the limitation and ends in a NullPointerException if the allocated textures exceed the specified maxvram value.
There is no way to specify different values for each pipeline or to remove the limitation for software pipelines.
I would add this possibility? What do you think?
Thanks,
Eduard
More information about the openjfx-dev
mailing list