When running on iPhone13 Pro Max (iOS15.1) and tapping the screen with several fingers in succession, it may go to 30fps at the moment of the tap.
self.displayLink = [CADisplayLink displayLinkWithTarget: self selector: @selector(repaintDisplayLink)];
[self.displayLink setPreferredFramesPerSecond:60];
// or
// [self.displayLink setPreferredFrameRateRange:CAFrameRateRangeMake(60,60,60)];
[self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
Unity and cocos2d-x are written with almost the same code, but the same phenomenon occurs.
It is not reproduced on iPhoneXS MAX(iOS15.1), iPhoneSE2, iPhone7, etc.
Also, if you set it to 120fps and run it, and then tap it continuously, the 120fps will turn into 60fps in the same way.