The apply button doesn’t really have to check if any values have changed. You just check if the value of the checkbox (after hitting apply) is the same as the boolean you use when flipping the FPS on or off. If it’s not the same, call the function. Else, don’t do anything.