Raspberry Pi上运行速度慢的JavaFX动画

时间:2016-02-19 08:36:18

标签: animation javafx raspberry-pi2

我目前遇到以下问题:

我在一家商店中创建了一个窄播客户端,该客户端运行在Raspberry Pi 2B模型上。规格:四核900MHz ARM Cortex A7处理器(BCM2836芯片组),1024MB RAM LPDDR2和16GB MicroSD属于10级。

我安装了最新的JDK并使用JavaFX包扩展它(如第一个答案here中所述)。 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,所以我也不清楚这一点。在后台运行的唯一另一件事是类似检查器,它每分钟与我的服务器API进行通信。

任何人都知道为什么动画很慢?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

在这里集思广益。

您是否尝试使用-Dprism.order = ...设置? 喜欢= sw或= j2d?

或增加PI的汇率?

(这也似乎相关: javafx-very-slow-on-raspberry-pi?