调整窗口大小后的JavaFX WebEngine不定循环

调整窗口大小后的JavaFX WebEngine不定循环,java,javafx,javafx-8,javafx-webengine,efxclipse,Java,Javafx,Javafx 8,Javafx Webengine,Efxclipse,我们有一个应用程序,它使用WebView显示带有OpenLayers的地图。数据来自后台的地理服务器。到目前为止,我们的应用程序是由我们的客户在FullHD(1920x1080)中运行的,到目前为止没有引起任何问题。现在,我们的客户已经改变了他们的显示器,其分辨率为WQXGA(2560x1600)。我们的应用程序在FullHD中运行完美,没有任何问题,但一旦我们在WQXGA上使应用程序全屏显示,WebView就会变灰,GUI冻结,GUI不再响应 系统监视器显示后台正在进行一些繁重的计算。我使用

我们有一个应用程序,它使用WebView显示带有OpenLayers的地图。数据来自后台的地理服务器。到目前为止,我们的应用程序是由我们的客户在FullHD(1920x1080)中运行的,到目前为止没有引起任何问题。现在,我们的客户已经改变了他们的显示器,其分辨率为WQXGA(2560x1600)。我们的应用程序在FullHD中运行完美,没有任何问题,但一旦我们在WQXGA上使应用程序全屏显示,WebView就会变灰,GUI冻结,GUI不再响应

系统监视器显示后台正在进行一些繁重的计算。我使用VisualVM了解更多信息。我分析了ant的方法调用,结果发现WebView大部分时间都在并行地做一些事情。我还研究了这个方法的描述,它表示在显示之前,它用于更新所有子节点。我不知道WebView内部是如何工作的,但我们也有大约1k-2k的功能多边形,它们通过OpenLayer显示(最终是JavaScript对象)

内存消耗在整个时间内也是稳定的。我还注意到WebView的宽度略大于FullHD。到目前为止,我没有证实这一点,这只是一个视觉评估。对我来说,WebView的行为看起来像一个不确定的循环,因为即使在45分钟后,系统利用率仍然是一样的,我决定终止GUI

以下是更多规范:

Java版本:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
JavaFX版本

javafx.runtime.version=8.0.5
我们使用Ubuntu 14.04.3 LTS


有没有办法找出是什么导致了这个错误?。是否可以通过某种方式配置WebView来防止这种情况发生?

您是否也对FullHD分辨率进行了相同的评测?我认为这可能与应用程序以某种方式进行了扩展有关,但如果没有任何部分的代码,就很难做出猜测。应用程序窗口的默认分辨率是FullHD。启动时,不会发现明显的负载(请参阅最后一个VisualVM屏幕截图的前半分钟)。实际上,所有需要显示的数据都已在此时加载。即使在调整大小后,也不会加载更多内容,除了由OpenLayers处理的GeoServer中的平铺。您可以看到,top方法是由脉冲触发的。每个脉冲都会重新绘制UI。如果屏幕较大,则会影响性能。我怀疑JavaScript会触发脉冲。我们也有类似的问题,更新到最新的JVM版本帮助很大。谢谢你的提示。我也有同样的怀疑,但很难证明。我尝试了最新的JVM,并告诉您结果如何:-)您是否也对FullHD分辨率进行了相同的评测?我认为这可能与应用程序以某种方式进行了扩展有关,但如果没有任何部分的代码,就很难做出猜测。应用程序窗口的默认分辨率是FullHD。启动时,不会发现明显的负载(请参阅最后一个VisualVM屏幕截图的前半分钟)。实际上,所有需要显示的数据都已在此时加载。即使在调整大小后,也不会加载更多内容,除了由OpenLayers处理的GeoServer中的平铺。您可以看到,top方法是由脉冲触发的。每个脉冲都会重新绘制UI。如果屏幕较大,则会影响性能。我怀疑JavaScript会触发脉冲。我们也有类似的问题,更新到最新的JVM版本帮助很大。谢谢你的提示。我也有同样的怀疑,但很难证明。我尝试了最新的JVM,并让您知道它的结果:-)