在使用 jcef 显示图表时。一段时间后,框架卡住了。线程转储显示打击。
"AWT-EventQueue-0" #18 prio=6 os_prio=0 tid=0x00000000200a0800 nid=0x4050 runnable [0x0000000021d0d000]
java.lang.Thread.State: RUNNABLE
at jogamp.nativewindow.windows.GDI.SwapBuffers(Native Method)
at jogamp.opengl.windows.wgl.WGLUtil.SwapBuffers(WGLUtil.java:95)
at jogamp.opengl.windows.wgl.WindowsWGLDrawable.swapBuffersImpl(WindowsWGLDrawable.java:92)
at jogamp.opengl.GLDrawableImpl.swapBuffers(GLDrawableImpl.java:88)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1295)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1442)
at com.jogamp.opengl.Threading.invoke(Threading.java:223)
at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:503)
at org.cef.browser.CefBrowserOsr$8.run(CefBrowserOsr.java:376)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
还有我的java代码。我将浏览器设置为无窗口渲染模式,但在字体模式下,问题仍然存在。
String[] args = new String[]{"--winhttp-proxy-resolver","--no-proxy-server"};
CefSettings settings = new CefSettings();
settings.windowless_rendering_enabled = true;
cefApp = CefApp.getInstance(args, settings);
cefBrowser = cefApp.createClient().createBrowser(sourceURL, true, false);