From 7ec7450849051ec64997cd4fc63f9c381de2e3e5 Mon Sep 17 00:00:00 2001 From: Ali <> Date: Mon, 9 Jan 2023 18:06:00 +0400 Subject: [PATCH] Check currently available refresh rate --- .../Display/Source/DisplayLinkAnimator.swift | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/submodules/Display/Source/DisplayLinkAnimator.swift b/submodules/Display/Source/DisplayLinkAnimator.swift index 3297c2556a..a9c09cd0c7 100644 --- a/submodules/Display/Source/DisplayLinkAnimator.swift +++ b/submodules/Display/Source/DisplayLinkAnimator.swift @@ -99,14 +99,17 @@ public final class SharedDisplayLinkDriver { displayLink.add(to: .main, forMode: .common) } if #available(iOS 15.0, *) { - let frameRateRange: CAFrameRateRange - if needHighestFramerate { - frameRateRange = CAFrameRateRange(minimum: 30.0, maximum: 120.0, preferred: 120.0) - } else { - frameRateRange = .default - } - if displayLink.preferredFrameRateRange != frameRateRange { - displayLink.preferredFrameRateRange = frameRateRange + let maxFps = Float(UIScreen.main.maximumFramesPerSecond) + if maxFps > 61.0 { + let frameRateRange: CAFrameRateRange + if needHighestFramerate { + frameRateRange = CAFrameRateRange(minimum: 30.0, maximum: 120.0, preferred: 120.0) + } else { + frameRateRange = .default + } + if displayLink.preferredFrameRateRange != frameRateRange { + displayLink.preferredFrameRateRange = frameRateRange + } } } displayLink.isPaused = false