JDK-8178805 : PathTransition jitter
  • Type: Bug
  • Component: javafx
  • Sub-Component: animation
  • Affected Version: 8,9
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • OS: generic
  • CPU: generic
  • Submitted: 2017-04-14
  • Updated: 2018-09-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Description
FULL PRODUCT VERSION :
JDK 8_64 u121

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 10.0.14393]

EXTRA RELEVANT SYSTEM CONFIGURATION :
cpu:  6th gen i7

A DESCRIPTION OF THE PROBLEM :
A long time ago I complained about jittery PathTransition animation.�� A bug was��openned and I was provided a workaround.  This is the old bug:  https://bugs.openjdk.java.net/browse/JDK-8126829�� This was with Java 7.�� I revisited the old project that lead to that initial complain, this time with Java 8.�� The problem seems to be back.�� I could not find the old bug report, since I think the JavaFX team is not using the same bug tracking site.

Below is the test code to reproduce.�� I tried it using JDK 8_64��u5, u11, u25, u112, u121 and the problem occurs with all of them.�� The ImageView stutters through the PathTransition.�� I have a new laptop with 6th gen I7 and plenty of ram.�� I do not think it is the hardware.�� This used to be smooth like butter.�� Anyone else experiencing this or can make any suggestions?



REGRESSION.  Last worked in version 7u80

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
@Override
    public void start(Stage primaryStage) {

        Circle circle = new Circle(40, Color.RED);
        Path path = new Path();
        path.getElements().add(new MoveTo(100, 100));
        path.getElements().add(new LineTo(500, 100));
        path.getElements().add(new LineTo(500, 500));
        path.getElements().add(new LineTo(100, 500));
        path.getElements().add(new LineTo(100, 100));

        PathTransition pathTransition = new PathTransition(Duration.seconds(6), path, circle);
        pathTransition.setCycleCount(Animation.INDEFINITE);
        pathTransition.setOrientation(PathTransition.OrientationType.ORTHOGONAL_TO_TANGENT);
        pathTransition.playFromStart();

        Group root = new Group();
        root.getChildren().add(circle);
        Scene scene = new Scene(root, 600, 600);
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Smooth animation.
ACTUAL -
Jitter

REPRODUCIBILITY :
This bug can be reproduced always.


Comments
Ignore my previous comment - I see it now on Windows 10. Note that it goes away with -Djavafx.animation.fullspeed=true so this is not a rendering issue so much as a synchronization issue with the frame rate.
03-05-2017

Issue is reproducible in both windows and Ubuntu. Regression in windows. windows: ----------- 7u151 : pass 8 : fail <--- regression introduced here 8u5 : fail 8u121:fail all 9 ea : fail Ubuntu: --------- JDK 7, 8, 9 :fail
17-04-2017