0

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

更重要的是在渲染 Gluon 演示 App 时出现异常,名为DoodleTrace. 画线后(在 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)
4

0 回答 0