RefreshAlignment is a feature introduced to assist with display timing.
It is recommended that Duration values be specified divisible by the refresh duration.
On a 60hz monitor which equates to 16.6666667ms per refresh, specifying a millisecond value divisible is not always possible.
Further, when specifying a refresh rate of 60hz, the actual value will not be exactly 60.00000hz. It may be 59.98, it may be 60.02, etc.
Therefore, when such an occasion arises where an object is schedule to display just after an expected refresh, RefreshAlignment will permit the object to draw early.
RefreshAlignment is assigned via percentage values of the refresh. The default is 25%.
Thus on a 60hz monitor at 16.6667 per refresh, RefreshAlignment will permit an object or movie frame to draw up to 4.1666ms early.
A specific example.
TD1 and TD2 have a duration of 1000 each.
TD1 draws at time 1234 and then TD2 is scheduled to display at time 2234.
A hypothetical refresh is expected at time 2233.
Without refresh alignment, TD2 will display at time 2249 (2233+16) making TD1 effective duration on screen = 1015 (2249-1234) and starting TD2 a refresh late.
With refresh alignment, TD2 will display early at time 2233. This makes TD1 effective duration = 999 but with TD2 starting one ms away from its target instead of being 15ms late.