JDK-8100719 : align Pulse to VBlank time to enable smooth, stutter-free animations
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: fx2.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2011-07-12
  • Updated: 2015-06-16
  • Resolved: 2012-01-13
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.
JDK 7
7-poolFixed
Related Reports
Blocks :  
Blocks :  
Description
In the current demos, e.g. the Path Animation demo, a lot of stutter in the animation is visible on all Windows OS'es. Just like with the older JavaFX releases, the screen paints appear not to be aligned with the VBlank interval of the monitor. This causes ugly hickups in the animation. That is an important drawback for a media framework.

The stuttering is (very likely) caused by jitter, judder and temporal aliasing, all due to the mis-alignment in time of the repaints.

Detecting VBlank can be done by waiting on the buffer-swap with OpenGL, or using the dedicated OS functions for it.

It's advisable to also create the possibility for other people to create their own Pulse-emitters, to keep things flexible. 

Comments
Fixed in p21-graphics b292 with this change set changeset: 15283:4ce4d30ab43d user: Morris Meyer <morris.meyer@sun.com> date: Thu Jan 12 22:17:45 2012 -0500 summary: RT-13660 PaintCollectorBehavior v07 - reviewed by Kevin R, Oleg S, Oleg M, Ekaterina P, Artem A, Kirill P, Chien Y, Brent C and many others
13-01-2012

OK to defer.
23-08-2011

This is related to RT-13660 and will be deferred from Presidio as well. Pls target it to Lombard.
19-08-2011

Adding "Graphics" to the list of components this issue is related to.
12-07-2011

Ok, thanks. Do you have suggestions on which Component(s) I should report this instead? Because Prism is not listed as a component on itself.
12-07-2011

We discussed this long time ago and the Glass team does consider any VBlank (VSync?) related functionality should be handled in Prism. On Windows, VSync is handled in DirectX, which should not be in the list of Glass dependencies.
12-07-2011