【发布时间】:2015-12-10 20:11:16
【问题描述】:
我正在开发 JavaFX 应用程序:
在这里,我希望左窗格具有模糊背景效果,即当用户滚动地图时,左窗格后面的内容会发生变化,并且我想使用该内容(模糊)作为背景的左窗格。 & 我几乎完成了。
当我滚动地图时,它确实可以工作,并且后面的内容会更新,但在系统监视器中,我可以看到 CPU 使用率、温度和整体电源使用率急剧上升。
为了实现霜玻璃效果,我在 webEngine(包含地图)中添加了一个事件监听器(用于检测鼠标移动):
Document doc = webEngine.getDocument();
((EventTarget) doc).addEventListener("mousemove", listener, false);
监听器执行一个方法:
检索左窗格(地图)下方的实际内容。
图像模糊。
更新屏幕
要更新屏幕,该方法会删除左窗格(VBox)和上一个图像(即背景)。 & 然后再次首先添加模糊图像窗格,然后将左窗格添加到根窗格。
所以,我认为我遇到性能问题的原因是,当用户拖动地图时,它必须非常快速地删除和添加窗格(左窗格和背景图像)到根窗格。
问题:CPU 使用率非常高
那么,JavaFX 中是否还有其他方法不需要如此高的 CPU 使用率?
类似的东西,不需要一直删除和添加窗格。
【问题讨论】:
-
您是否尝试过设置左窗格的不透明度?
-
是的,这是透明效果,但我需要模糊效果。
标签: javafx cpu blur effect panes