Add performance-based update loop