Link QuartzCore and set up CADisplayLink to coordinate flush with screen