我正在构建一个应该在我的RaspberryPi上运行的JavaFX应用程序,它有一个7"显示附件。
为了更好的样式,我试图动画javafx.scene.effect.GaussianBlur
- 效果。
我得到了它"工作"虽然目前表现非常差(动画期间的FPS很低)(在我的笔记本电脑上,甚至没有说到Pi)。请参阅下面的代码。
有更高效的方法吗?或者这些效果是不是应该动画?
GaussianBlur blur = new GaussianBlur(0);
backgroundPane.setEffect(blur);
DoubleProperty value = new SimpleDoubleProperty(0);
value.addListener((observable, oldV, newV)->
{
blur.setRadius(newV.doubleValue());
});
Timeline timeline = new Timeline();
final KeyValue kv = new KeyValue(value, 30);
final KeyFrame kf = new KeyFrame(Duration.millis(200), kv);
timeline.getKeyFrames().add(kf);
timeline.play();
仅供参考:bakcgroundPlane
在此阶段只是一个通过CSS添加背景图片的窗格:
.background
{
-fx-background-image: url("images/bg.png");
-fx-background-repeat: stretch;
-fx-background-size: 800 480;
-fx-background-position: center center;
}
编辑: 这个问题似乎与CSS无关。当我在FXML中设置图像时,它仍然会发生......
答案 0 :(得分:1)
您是否尝试过enable caching和set the cache hint to speedy?
那些通常会对性能产生巨大影响。在我的一个小jfx游戏中,它是可玩的"之间的区别。和单个数字fps值。