Other |
---|
fx2.0.2Fixed |
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
I instrumented the runtime and found that WebView requests a very large texture without clipping it to the drawing area. All graphics cards have some limit (usually either 4K or 8K), and will fail to allocate a texture with either a width or height that exceeds that. Note that this is an addressing limitation not a memory limitation, since the texture in question does not take up all that much memory. Note that on my graphics card, I also get an NPE on www.yahoo.com (which uses a texture of > 4K but < 8K). To reproduce this: java WebLauncher http://autos.yahoo.com/ java.lang.RuntimeException: ERROR: unable to create texture 11580x50 at com.sun.prism.d3d.D3DResourceFactory.fatalError(D3DResourceFactory.java:377) at com.sun.prism.d3d.D3DResourceFactory.createTexture(D3DResourceFactory.java:77) at com.sun.prism.d3d.D3DResourceFactory.createTexture(D3DResourceFactory.java:39) at com.sun.prism.impl.BaseResourceFactory.createTexture(BaseResourceFactory.java:109) at com.sun.prism.impl.BaseResourceFactory.createTexture(BaseResourceFactory.java:100) at com.sun.webpane.sg.prism.WCImageImpl.getTexture(WCImageImpl.java:117) at com.sun.webpane.sg.prism.WCGraphicsPrismContext.drawImage(WCGraphicsPrismContext.java:618) at com.sun.webpane.platform.graphics.GraphicsDecoder.drawImage(GraphicsDecoder.java:423) at com.sun.webpane.platform.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:166) at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:35) at com.sun.webpane.platform.WebPage.paint2GC(WebPage.java:631) at com.sun.webpane.platform.WebPage.paint(WebPage.java:610) at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:68) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:185) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39) at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1128) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:202) at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:397) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:185) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39) at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1128) at com.sun.javafx.tk.quantum.PaintRunnable.doPaint(PaintRunnable.java:217) at com.sun.javafx.tk.quantum.PaintRunnable.paintImpl(PaintRunnable.java:148) at com.sun.javafx.tk.quantum.PaintRunnable.run(PaintRunnable.java:329) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at com.sun.prism.render.RenderJob.run(RenderJob.java:29) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at com.sun.javafx.tk.quantum.QuantumRenderer$ObservedRunnable.run(QuantumRenderer.java:67) at java.lang.Thread.run(Thread.java:662)
|