Use requestAnimationDelay for animation optimization.