使用Gluon / JavaFXPorts在iOS上渲染异常

时间:2016-04-18 09:37:33

标签: ios javafxports gluon gluon-mobile

在使用Gluon在iOS上尝试一些应用程序后,我注意到了一些渲染错误。 首先,JavaFX LineChart行为不正确。线条移位,阴影无法正确显示。我没有进一步检查这一点,但这可能与以下问题有关。

更重要的是,在渲染名为DoodleTrace的Gluon演示应用程序时会出现异常。画线后(iPad上约20厘米长)我在渲染线程中得到一个例外:
(注意:iPad 3运行iOS 7)

触发一次(约20厘米后):

va.lang.IllegalArgumentException: Upload requires 1793077 elements, but only 1102848 elements remain in the buffer  
    at com.sun.prism.impl.BaseTexture.checkUpdateParams(BaseTexture.java)  
    at com.sun.prism.es2.ES2Texture.update(ES2Texture.java)  
    at com.sun.prism.impl.BaseContext.flushVertexBuffer(BaseContext.java)  
    at com.sun.prism.impl.ps.BaseShaderContext.setRenderTarget(BaseShaderContext.java)  
    at com.sun.prism.impl.BaseContext.setRenderTarget(BaseContext.java)  
    at com.sun.prism.impl.BaseGraphics.<init>(BaseGraphics.java)  
    at com.sun.prism.impl.ps.BaseShaderGraphics.<init>(BaseShaderGraphics.java)  
    at com.sun.prism.es2.ES2Graphics.<init>(ES2Graphics.java)  
    at com.sun.prism.es2.ES2Graphics.create(ES2Graphics.java)  
    at com.sun.prism.es2.ES2SwapChain.prepare(ES2SwapChain.java)  
    at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java)  
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java)  
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)  
    at com.sun.javafx.tk.RenderJob.run(RenderJob.java)  
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)  
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java)  
    at java.lang.Thread.run(Thread.java)  
Outstanding resource locks detected:  
ES2 Vram Pool: 3,457,040 used (0.6%), 91,324,416 target (17.0%), 536,870,912 max  
7 total resources being managed  
average resource age is 28.4 frames  
0 resources at maximum supported age (0.0%)  
3 resources marked permanent (42.9%)  
1 resources have had mismatched locks (14.3%)  
1 resources locked (14.3%)  
6 resources contain interesting data (85.7%)  
0 resources disappeared (0.0%)  

在发生上述异常后触发每个触摸事件:

java.lang.IllegalArgumentException: Upload requires 1793077 elements, but only 1102848 elements remain in the buffer  
    at com.sun.prism.impl.BaseTexture.checkUpdateParams(BaseTexture.java)  
    at com.sun.prism.es2.ES2Texture.update(ES2Texture.java)  
    at com.sun.prism.impl.BaseContext.flushVertexBuffer(BaseContext.java)  
    at com.sun.prism.impl.ps.BaseShaderContext.setRenderTarget(BaseShaderContext.java)  
    at com.sun.prism.impl.BaseContext.setRenderTarget(BaseContext.java)  
    at com.sun.prism.impl.BaseGraphics.<init>(BaseGraphics.java)  
    at com.sun.prism.impl.ps.BaseShaderGraphics.<init>(BaseShaderGraphics.java)  
    at com.sun.prism.es2.ES2Graphics.<init>(ES2Graphics.java)  
    at com.sun.prism.es2.ES2Graphics.create(ES2Graphics.java)  
    at com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java)  
    at com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java)  
    at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java)  
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java)  
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)  
    at com.sun.javafx.tk.RenderJob.run(RenderJob.java)  
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)  
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java)  
    at java.lang.Thread.run(Thread.java)

0 个答案:

没有答案