Mobil geliştirmede 120fps — nedir, ProMotion özellikleri ve optimizasyon

Yazar: IT Sectr Yayınlanma: 2026-04-01 Okuma süresi: 8 dk

120fps — 120 Hz yenileme hızına sahip ekranlarda kullanılabilen saniyede 120 karelik bir kare hızı, her kare 8.3 ms sürer. Apple WWDC 2023 Session'a göre ProMotion, akıcılık ve güç tüketimi dengesi için frekansı 24 ile 120 Hz arasında otomatik olarak değiştirir. 8.3 ms, standart bütçenin yarısıdır ve ciddi bir render optimizasyonu gerektirir.

Ana Çıkarımlar

  • 120fps — kare başına 8.3 ms render bütçesi ile saniyede 120 kare hızı
  • ProMotion — 24 ila 120 Hz arası dinamik frekansa sahip Apple teknolojisi
  • LTPO ekranlar — 1–120 Hz destekleyen düşük sıcaklık polikristalin oksit paneller
  • Frame pacing — 120fps'de kritik olan kare çıkışının düzgünlüğü
  • Optimizasyon 120fps için 60fps'ye göre iki kat daha verimli kod gerektirir

120fps nedir

120fps, ekranın görüntüyü saniyede 120 kez güncellediği standart kare hızının iki katıdır. Her karenin zaman bütçesi 8.33 ms'dir — 60fps'in yarısı. Bu, GPU ve CPU'nun grafikleri iki kat daha hızlı işlemesi gerektiği ve 60fps'te 16.7 ms içinde çalışan tüm algoritmaların 120fps'te ancak iki kat daha verimli olmaları halinde sığabileceği anlamına gelir.

120 Hz ekrana sahip ilk mobil cihaz, Sharp'ın IGZO paneline sahip Razer Phone (2017) oldu. Apple, 120 Hz'i iPad Pro (2017)'de ProMotion adıyla tanıttı ve iPhone'larda ancak 2021'de iPhone 13 Pro ile getirdi. Android'de 120 Hz, 2020'den itibaren ana akım haline geldi: Samsung Galaxy S20, OnePlus 8 Pro, Xiaomi Mi 10. Bugün 90–120 Hz, amiral gemisi cihazlar için standarttır ve LTPO teknolojisi dinamik frekans değiştirmeyi mümkün kılar.

Kullanıcının 120fps algısı, 60fps'ten takılma olmamasından ziyade anlık yanıt hissi açısından farklıdır — imleç, kaydırma ve animasyonlar minimum gecikmeyle parmağı takip eder. Bu his genellikle “sıvı” veya “yağlı” ekran olarak tanımlanır. 120 Hz kullandıktan sonra 60 Hz'e dönmek, objektif kare düşüşleri olmasa bile öznel olarak yavaş hissedilir.

120 Hz ekranlar nasıl çalışır

120 Hz ekran, MIPI DSI/DPI veri yolu üzerinden çift frekansta sinyal göndererek pikselleri fiziksel olarak saniyede 120 kez günceller. Her piksel 8.3 ms'de bir yeni bir parlaklık değeri alır. OLED paneller için bu, her alt pikselin yayım süresinin azaldığı ve aynı görüntü parlaklığını korumak için daha parlak bir arka aydınlatma gerektiği anlamına gelir.

LTPO teknolojisi

LTPO (Düşük Sıcaklık Polikristalin Oksit), LTPS (yüksek anahtarlama hızı) ve IGZO (düşük statik güç tüketimi) birleştiren bir OLED ekran üretim teknolojisidir. LTPO, ekranın yenileme hızını ek güç maliyeti olmadan 1 ila 120 Hz arasında dinamik olarak değiştirmesine olanak tanır. Always-On Display modunda frekans 1 Hz'e düşer; kaydırma sırasında 120 Hz'e çıkar. Bu, sürekli 120 Hz'de çalışan ekranlara kıyasla %30'a kadar enerji tasarrufu sağlar.

120fps'te Frame Pacing

Frame pacing — kareler arasındaki aralıkların düzgünlüğü, 120fps'te en önemli parametredir. 60fps'te kareler arasında 2–3 ms'lik bir fark algılanamazken, 120fps'te aynı mutlak fark kare süresinin %25'ini oluşturur ve takılma olarak algılanır. Akıcı 120fps için her kare 8.3 ms ±1 ms içinde olmalıdır. Xcode Instruments'taki FrameRate gibi araçlar, yalnızca ortalama FPS'yi değil, aynı zamanda frame pacing'i değerlendirmek için aralıkların histogramını da gösterir.

swift
// iOS — CADisplayLink ile 120 Hz ekran algılama
func checkDisplayRefreshRate() {
    let link = CADisplayLink(target: self,
                                  selector: #selector(step))
    if let preferredRate = link?.preferredFrameRateRange {
        print("Maks. frekans: \(preferredRate.maximum) Hz")
    }
}

iOS'ta ProMotion

ProMotion, 120 Hz'e kadar uyarlanabilir yenileme hızlarına sahip ekranlar için Apple'ın ticari markasıdır. İlk olarak iPad Pro 10.5 (2017)'te tanıtıldı, daha sonra iPhone 13 Pro (2021) ve MacBook Pro (2021)'de görüldü. ProMotion yalnızca 120 Hz değildir — bu akıllı frekans yönetimidir: sistem içerik türünü analiz eder ve performans ve güç tüketiminin optimal dengesi için frekansı değiştirir.

ProMotion çalışma modları

ProMotion dört modu destekler: statik içerik ve 24fps video için 24 Hz, 30fps video için 30 Hz, UI navigasyonu için 60 Hz ve kaydırma ve oyun için 120 Hz. Modlar arasında geçiş tek bir kare içinde (8.3 ms) gerçekleşir ve kullanıcı için algılanamaz. Geliştiriciler, CADisplayLink'teki preferredFrameRateRange aracılığıyla frekans seçimini etkileyebilir, ancak nihai kararı içerik analizine dayanarak sistem verir.

Geliştiriciler için API

Apple, iOS 15'ten itibaren ProMotion ile çalışmak için API'ler sağlar. CADisplayLink.preferredFrameRateRange, tercih edilen bir frekans aralığı ayarlamaya olanak tanır. UIScene.ActivationConditions, sahneler arasında geçiş yaparken frekansı etkileyebilir. Metal için, ProMotion ile senkronizasyon için CAMetalLayer.displaySyncEnabled true olmalıdır. Bir uygulama 120fps için optimize edilmemişse, iOS onu otomatik olarak 60 Hz'e geçirir ve bu Xcode'da GPU Report bölümünde görülebilir.

swift
// iOS — oyun modu için 120fps talebi
let displayLink = CADisplayLink(
    target: self,
    selector: #selector(gameLoop)
)
if #available(iOS 15.0, *) {
    displayLink?.preferredFrameRateRange =
        CAFrameRateRange(minimum: 80,
                          maximum: 120,
                          preferred: 120)
}
displayLink?.add(to: .current,
                    forMode: .default)

120fps için optimizasyon

120fps için optimizasyon, yalnızca kod hızını iki katına çıkarmakla ilgili değil, render mimarisini yeniden düşünmekle ilgilidir. 60fps'te 16.7 ms içinde tamamlanan işlemler artık 8.3 ms içinde tamamlanmalıdır. Bu, pipeline'ın tüm aşamalarını etkiler: CPU hazırlığı, GPU render ve sistem çağrıları.

120fps için draw calls azaltma

120fps'te, aynı GPU yükünü korumak için kare başına draw calls sayısı 60fps'tekinin yarısı olmalıdır. 60fps'te 400 draw call kabul edilebilirse, 120fps'te 200'den fazlasına izin verilmez. Draw call'ları azaltmak için doku atlasları, ağ birleştirme ve GPU örneklemesi kullanın. Metal'de Indirect Command Buffers kullanın; Vulkan'da paralel komut kaydı için Secondary Command Buffers kullanın.

Shaders — bir diğer kritik faktör. Birden fazla doku örneklemesi ve matematiksel işlem içeren karmaşık piksel gölgelendiriciler, 8.3 ms bütçesini kolayca aşabilir. Düşük hassasiyetli gölgelendiriciler (float yerine half) kullanın, talimat ve doku örneği sayısını azaltın. Mobil GPU'larda (Apple A17, Snapdragon 8 Gen 3), her doku örneklemesi 2–4 döngü alır ve 120fps'te bu bir darboğaz haline gelebilir.

CPU ve Ana İş Parçacığı

120fps'te, ana iş parçacığı GPU render için zaman bırakmak üzere bir kareyi 4–5 ms içinde hazırlamalıdır. Ana iş parçacığındaki herhangi bir senkron işlem — veritabanı okuma, JSON ayrıştırma, görüntü yükleme — takılma yaratır. Tüm ağır işlemleri arka plan iş parçacıklarına taşıyın, eşzamansız API'ler ve iş parçacığı havuzları kullanın. iOS'ta, qualityOfService .userInteractive ile DispatchQueue yalnızca kritik render kodu için ayrılmalıdır.

Bileşen120fps bütçe60fps bütçe
CPU (ana iş parçacığı)4 ms8 ms
GPU render4 ms8 ms
Kompozit0.3 ms0.7 ms
VSync bekleme0–2 ms0–5 ms

120fps vs 60fps

120fps ve 60fps karşılaştırması yalnızca akıcılığı iki katına çıkarmakla ilgili değildir. Fark, içerik türüne bağlı olarak farklı şekilde algılanır. Kaydırma ve UI animasyonları için 120fps, öznel olarak daha “yanıt verebilir” bir arayüz sağlar. Oyun için 120fps'in avantajı, azaltılmış hareket bulanıklığı ve hızlı nesnelerin daha doğru takibinde ortaya çıkar.

Güç tüketimi — ana ödünleşme. 120fps, aynı ekran parlaklığında 60fps'ten %30–50 daha fazla güç tüketir. Bu, 4000 mAh bataryada 120fps'te bir saat oyun oynamanın bataryayı yaklaşık %25–30 daha hızlı tükettiği anlamına gelir. LTPO ekranlar, statik sahnelerde frekansı 1 Hz'e düşürerek sorunu kısmen çözer, ancak aktif kullanım sırasında (kaydırma, oyun) frekans maksimumda kalır.

60fps ve 120fps arasındaki seçim, geliştiricinin önceliklerine bağlıdır. Sosyal ağlar, mesajlaşma ve haber uygulamaları için 120fps önemli bir avantaj sağlamaz — ana etkileşim (okuma, metin girişi) ultra akıcılıktan yararlanmaz. Oyunlar, haritalar, grafik düzenleyiciler ve yoğun animasyonlu uygulamalar için 120fps rekabet avantajı ve kalite göstergesi haline gelir.

Test 120fps özel bir yaklaşım gerektirir: standart 60fps metrikleri 120 Hz'de frame pacing sorunlarını ortaya çıkarmaz. Gerçek ekran davranışını kaydetmek için yüksek hızlı kamera (120+ fps) veya yerleşik platform araçları — iOS için Xcode Metal Capture ve Android için AGI (Android GPU Inspector) kullanın. Bu araçlar, VSync beklemesi dahil her karenin tam süresini gösterir ve mikro takılmaları belirlemeye yardımcı olur.

Sıkça sorulan sorular

120fps her zaman 60fps'ten daha mı iyidir?

Her zaman değil. 120fps iki kat daha fazla enerji ve bilgi işlem kaynağı gerektirir. Statik içerik ve basit UI için 60fps yeterlidir. 120fps'in avantajı dinamik sahnelerde belirgindir: kaydırma, oyun, geçiş animasyonları.

Bir uygulamanın 120fps'te çalıştığını nasıl kontrol ederim?

Xcode Instruments (Core Animation şablonu) veya Android Studio Profiler kullanın. iOS'ta CADisplayLink.timestamp'i kontrol edin — çağrılar arasındaki aralık yaklaşık 8.3 ms olmalıdır. Android'de Geliştirici Seçenekleri'nde Show refresh rate'i etkinleştirin.

120fps neden bataryayı daha hızlı tüketir?

Ekran pikselleri iki kat daha sık günceller, GPU iki kat daha fazla render işlemi gerçekleştirir ve CPU iki kat daha fazla kare işler. Her işlem enerji tüketir. LTPO ekranlar hareketsiz halde frekansı düşürür, ancak aktif kullanım sırasında güç tüketimi frekansla orantılı olarak artar.

Bir uygulama Android'de 120fps'te çalışabilir mi?

Evet. Android 11'den itibaren sistem farklı yenileme hızlarını destekler. Geliştiriciler, WindowManager.setPreferredRefreshRate aracılığıyla 120 Hz talep edebilir. Ancak tüm cihazlar 120fps'i kararlı bir şekilde sürdüremez — GPU render optimizasyonu gereklidir.

Sıradan bir kullanıcı 60 ve 120fps arasındaki farkı fark eder mi?

Kör bir testte, çoğu kullanıcı kaydırma ve animasyonlar sırasında farkı fark eder. Ancak günlük kullanımda (sosyal medya, video, mesajlaşma) fark öznel olarak küçüktür. 120 Hz'e alıştıktan sonra 60 Hz'e dönmek yavaş hissedilir.

Özet

  • 120fps — ultra akıcı animasyon için 8.3 ms bütçeli kare hızı
  • ProMotion — 24–120 Hz aralığında Apple uyarlanabilir teknolojisi
  • LTPO ekranlar enerji tasarrufu için 1 ila 120 Hz arasında dinamik frekans değiştirir
  • Frame pacing 120fps'te kritiktir — 2–3 ms düzensizlik zaten fark edilir
  • Draw calls 120fps'te kare başına 200'ü geçmemelidir
  • Güç tüketimi 120fps'te 60fps'ten %30–50 daha yüksektir
  • 120fps seçmek oyunlar, haritalar ve yoğun animasyonlu uygulamalar için haklıdır

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun