Large Image Export

Kevin Rushforth kevin.rushforth at oracle.com
Fri Jun 13 18:20:53 UTC 2014


The funny thing is I was sure I had typed 8u40, but my fingers had other 
ideas. :)

-- Kevin


Stephen F Northover wrote:
> ... a rare instance of Kevin getting a release name wrong!
>
> Steve
>
> On 2014-06-13, 11:39 AM, Kevin Rushforth wrote:
>> > could be moved into 8u20
>>
>> I meant 8u40.
>>
>> -- Kevin
>>
>>
>> Kevin Rushforth wrote:
>>> This is RT-22073 <https://javafx-jira.kenai.com/browse/RT-22073> 
>>> which is currently targeted for 9, but could be moved into 8u20 if 
>>> there was enough demand to fix it. The (rather ugly) app-level 
>>> workaround is to break the operation up into 4Kx4K tiles, and render 
>>> the tiles in a loop specifying the appropriate viewport and 
>>> translation via ShapshotParams.
>>>
>>> -- Kevin
>>>
>>>
>>>
>>> Danno Ferrin wrote:
>>>> While working on a fun project I discovered that the Image Export 
>>>> limits
>>>> the size of the export textures, mostly depending on your graphics 
>>>> stack.
>>>>  Here's one example:
>>>>
>>>> java.lang.RuntimeException: Requested texture dimensions (20581x245)
>>>> require dimensions (0x245) that exceed maximum texture size (16384)
>>>> at com.sun.prism.es2.ES2RTTexture.create(ES2RTTexture.java:220)
>>>> at
>>>> com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:106) 
>>>>
>>>> at
>>>> com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:102) 
>>>>
>>>> at
>>>> com.sun.javafx.tk.quantum.QuantumToolkit$QuantumImage.getRT(QuantumToolkit.java:1210) 
>>>>
>>>> at 
>>>> com.sun.javafx.tk.quantum.QuantumToolkit$18.run(QuantumToolkit.java:1345) 
>>>>
>>>> at 
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
>>>>
>>>> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
>>>> at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
>>>>
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
>>>>
>>>> at
>>>> com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129) 
>>>>
>>>>
>>>> This is on a mid-2012 Mac Book Air, and the MacGLConext looks to limit
>>>> dimensions to 2^14.
>>>>
>>>> Is there anything I can do other than making sure my nodes don't 
>>>> get bigger
>>>> than 16K on one side?  I've tried setting a transform on the 
>>>> snapshot and
>>>> zooming it below 16k, but it still gets the same exception with he 
>>>> same
>>>> dimensions.
>>>>
>>>> --Danno
>


More information about the openjfx-dev mailing list