In Preview Mode within the screensaver options and when the config panel is closed an stopAnimation event is fired by ScreenSaverFramework and then an startAnimation event.
startAnimation starts a new change timer, but the old timer was not stopped and so multiple change timer could be running. With multiple open and closing of the config panel this could lead to a very high number of running timers and very short and unpredictable change intervals of the preview form the screensaver. Once I even see [MTKView currentDrawable] crashing due to the high frequency.
This never happen in Normal or Background Mode since in those modes the stopAnimation event is only send before screensaver process closes completely and this will end also a running timer.
In Preview Mode within the screensaver options and when the config panel is closed an stopAnimation event is fired by ScreenSaverFramework and then an startAnimation event. startAnimation starts a new change timer, but the old timer was not stopped and so multiple change timer could be running. With multiple open and closing of the config panel this could lead to a very high number of running timers and very short and unpredictable change intervals of the preview form the screensaver. Once I even see [MTKView currentDrawable] crashing due to the high frequency.
This never happen in Normal or Background Mode since in those modes the stopAnimation event is only send before screensaver process closes completely and this will end also a running timer.