private void OnRendering(object sender, EventArgs e)
{
RenderingEventArgs rea = (RenderingEventArgs)e;
// The first rendering call does not have a 'last' ticks count
if (_lastTicks == -1)
_lastTicks = rea.RenderingTime.Ticks;
else
_lastTicks = _nextTicks;
// Record the time when the next frame will be displayed
_nextTicks = rea.RenderingTime.Ticks;
InvalidateMeasure();
}