Javafx-嵌入式设备上的文本动画不平滑

Javafx-嵌入式设备上的文本动画不平滑,java,javafx,embedded,javafx-8,transition,Java,Javafx,Embedded,Javafx 8,Transition,我们目前正在进行一个JavaFX项目,我们需要以不同的速度实现从左到右的文本动画。应用程序的执行环境是一个嵌入式设备——棒形PC 我们使用了Translate Transition API来实现动画效果,但我们在其中面临平滑问题。与笔记本电脑/台式机中的动画相比,文本移动时会出现抖动,移动速度较慢 package application; import javafx.animation.Interpolator; import javafx.animation.Timeline; import

我们目前正在进行一个JavaFX项目,我们需要以不同的速度实现从左到右的文本动画。应用程序的执行环境是一个嵌入式设备——棒形PC

我们使用了Translate Transition API来实现动画效果,但我们在其中面临平滑问题。与笔记本电脑/台式机中的动画相比,文本移动时会出现抖动,移动速度较慢

package application;

import javafx.animation.Interpolator;
import javafx.animation.Timeline;
import javafx.animation.TranslateTransition;
import javafx.application.Application;
import javafx.scene.CacheHint;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;

public class SampleAnimationTest extends Application {

    // private final Logger logger = Logger.getLogger("genLog");

    @Override
    public void start(Stage primaryStage) throws Exception {
         StackPane group = new StackPane();
         Rectangle rectangle = new Rectangle();
         rectangle.setHeight(1080);
         rectangle.setWidth(1920);
         rectangle.setFill(Color.WHITE);
         rectangle.setTranslateX(0);
         rectangle.setTranslateY(0);
         rectangle.setCache(true);
         rectangle.setCacheHint(CacheHint.SPEED);
         Text text = new Text("THIS IS A LONG TEXT FOR TESTING TEXT ANIMATION IN JAVAFX");
         text.setFill(Color.BLACK);
         text.setUnderline(false);
         text.setFont(Font.font("Meiryo", 509.3899));
         text.setTextAlignment(TextAlignment.CENTER);
         text.setCache(true);
         text.setCacheHint(CacheHint.SPEED);
         TranslateTransition tt = new TranslateTransition();
         tt.setNode(text);
         Rectangle rClip = new Rectangle();
         rClip.setWidth(rectangle.getWidth());
         rClip.setHeight(rectangle.getHeight());        
         rClip.translateXProperty().bind(rectangle.translateXProperty());
         group.getChildren().add(rectangle);
         group.getChildren().add(text);
         group.setClip(rClip);
         Group group2 = new Group();
         group2.getChildren().add(group);
         Scene scene = new Scene(group2, 1920, 1080);
         primaryStage.setMaximized(true);
         primaryStage.setTitle("Decorations Example");
         primaryStage.setScene(scene);
         primaryStage.show();
         tt.fromXProperty().bind(rectangle.translateXProperty().add(rectangle.getLayoutBounds().getWidth()));
         tt.toXProperty().bind(rectangle.translateXProperty().subtract(text.getLayoutBounds().getWidth()));
         tt.setRate(0.077364);
         tt.setInterpolator(Interpolator.LINEAR);
         tt.setCycleCount(Timeline.INDEFINITE);
         tt.playFromStart();
    }

    public static void main(String[] args) {
         launch(args);
    }
}

这可能只是因为嵌入式设备不够快。它使用的是什么硬件,运行的是什么操作系统?它是一台带有2gb内存和atom z3处理器的Intel Stick PC。操作系统呢?窗户?什么版本?Linux?使用预装操作系统Windows 10的发行版、内核版本等