JavaFX 动画 运行 在 Raspberry Pi 上变慢
JavaFX animations running slow on Raspberry Pi
我目前遇到以下问题:
我在一家商店创建了一个窄播客户端,运行在 Raspberry Pi 2B 型号上。规格:四核 900MHz ARM Cortex A7 处理器(BCM2836 芯片组)、1024MB RAM LPDDR2 和 16GB MicroSD 是 class 10.
我已经安装了最新的 JDK 并使用 JavaFX 包对其进行了扩展(如第一个答案 中所述)。 JavaFX 现在是 运行ning,所以应该没问题。
但是,当我尝试 运行 我的应用程序时,动画 运行 非常慢(参见 video)。我正在使用下面的代码制作动画:
public void initImagesTransitions() {
EventHandler<ActionEvent> fadeIn = event -> {
TranslateTransition in = new TranslateTransition(Duration.seconds(1), imageHolder);
in.setFromY(-(SystemUtils.getScreenHeight()+100));
in.setToY(-80);
in.setCycleCount(1);
in.play();
imageHolder.setVisible(true);
};
EventHandler<ActionEvent> zoomIn = event -> {
ScaleTransition st = new ScaleTransition(Duration.millis(5000), imageHolder);
st.setByX(0.8f);
st.setByY(0.8f);
st.setCycleCount(1);
st.play();
};
EventHandler<ActionEvent> fadeOut = event -> {
TranslateTransition out = new TranslateTransition(Duration.seconds(1), imageHolder);
out.setToY(500+SystemUtils.getScreenHeight());
out.setCycleCount(1);
out.play();
out.setOnFinished(e -> imageHolder.setVisible(false));
};
Timeline timeline = new Timeline(
new KeyFrame(Duration.ZERO, fadeIn),
new KeyFrame(Duration.seconds(3), zoomIn),
new KeyFrame(Duration.seconds(19), fadeOut)
);
timeline.playFromStart();
}
所以在我看来没什么特别的。 Raspberry Pi 只使用了 30% CPU,所以我也不清楚。后台唯一 运行ning 是一个 like-checker,它每分钟与我的服务器 API 通信。
有人知道为什么动画很慢吗?
非常感谢任何帮助!
在这里集思广益。
您是否尝试过 -Dprism.order= ... 设置?
喜欢 =sw 或 =j2d?
或增加 PI 上的显存?
(这似乎也很相关:
)
我目前遇到以下问题:
我在一家商店创建了一个窄播客户端,运行在 Raspberry Pi 2B 型号上。规格:四核 900MHz ARM Cortex A7 处理器(BCM2836 芯片组)、1024MB RAM LPDDR2 和 16GB MicroSD 是 class 10.
我已经安装了最新的 JDK 并使用 JavaFX 包对其进行了扩展(如第一个答案
但是,当我尝试 运行 我的应用程序时,动画 运行 非常慢(参见 video)。我正在使用下面的代码制作动画:
public void initImagesTransitions() {
EventHandler<ActionEvent> fadeIn = event -> {
TranslateTransition in = new TranslateTransition(Duration.seconds(1), imageHolder);
in.setFromY(-(SystemUtils.getScreenHeight()+100));
in.setToY(-80);
in.setCycleCount(1);
in.play();
imageHolder.setVisible(true);
};
EventHandler<ActionEvent> zoomIn = event -> {
ScaleTransition st = new ScaleTransition(Duration.millis(5000), imageHolder);
st.setByX(0.8f);
st.setByY(0.8f);
st.setCycleCount(1);
st.play();
};
EventHandler<ActionEvent> fadeOut = event -> {
TranslateTransition out = new TranslateTransition(Duration.seconds(1), imageHolder);
out.setToY(500+SystemUtils.getScreenHeight());
out.setCycleCount(1);
out.play();
out.setOnFinished(e -> imageHolder.setVisible(false));
};
Timeline timeline = new Timeline(
new KeyFrame(Duration.ZERO, fadeIn),
new KeyFrame(Duration.seconds(3), zoomIn),
new KeyFrame(Duration.seconds(19), fadeOut)
);
timeline.playFromStart();
}
所以在我看来没什么特别的。 Raspberry Pi 只使用了 30% CPU,所以我也不清楚。后台唯一 运行ning 是一个 like-checker,它每分钟与我的服务器 API 通信。
有人知道为什么动画很慢吗?
非常感谢任何帮助!
在这里集思广益。
您是否尝试过 -Dprism.order= ... 设置? 喜欢 =sw 或 =j2d?
或增加 PI 上的显存?
(这似乎也很相关: