120fps dalam pengembangan mobile — apa itu, fitur ProMotion dan optimalisasi

Penulis: IT Sectr Diterbitkan: 2026-04-01 Waktu membaca: 8 mnt

120fps — frekuensi 120 bingkai per detik, tersedia pada layar dengan kecepatan refresh 120 Hz, di mana setiap bingkai membutuhkan 8,3 ms. Menurut Apple WWDC 2023 Session, ProMotion secara otomatis mengalihkan frekuensi dari 24 hingga 120 Hz untuk keseimbangan antara kehalusan dan konsumsi daya. 8,3 ms — ini dua kali lebih kecil dari anggaran standar, yang memerlukan optimalisasi rendering yang serius.

Poin utama

  • 120fps — frekuensi 120 bingkai per detik dengan anggaran rendering 8,3 ms per bingkai
  • ProMotion — teknologi Apple dengan frekuensi dinamis dari 24 hingga 120 Hz
  • Layar LTPO — panel oksida polikristalin suhu rendah, mendukung 1–120 Hz
  • Frame pacing — keseragaman keluaran bingkai, kritis pada 120fps
  • Optimalisasi untuk 120fps memerlukan kode dua kali lebih efisien daripada 60fps

Apa itu 120fps

120fps — frekuensi bingkai dua kali lipat dari standar, di mana layar menyegarkan gambar 120 kali per detik. Setiap bingkai memiliki anggaran waktu 8,33 ms — setengah dari 60fps. Ini berarti GPU dan CPU harus memproses grafis dua kali lebih cepat, dan semua algoritma yang bekerja dalam 16,7 ms pada 60fps hanya berhasil pada 120fps dengan efisiensi dua kali lipat.

Perangkat mobile pertama dengan layar 120 Hz adalah Razer Phone (2017) dengan panel IGZO dari Sharp. Apple memperkenalkan 120 Hz di iPad Pro (2017) dengan nama ProMotion, dan di iPhone — baru pada tahun 2021 di iPhone 13 Pro. Di Android, 120 Hz menjadi massal sejak 2020: Samsung Galaxy S20, OnePlus 8 Pro, Xiaomi Mi 10. Saat ini 90–120 Hz adalah standar untuk perangkat flagship, dan teknologi LTPO memungkinkan perubahan frekuensi secara dinamis.

Persepsi 120fps oleh pengguna berbeda dari 60fps tidak begitu pada tidak adanya sentakan, melainkan pada rasa respons instan — kursor, scrolling, animasi mengikuti jari dengan keterlambatan minimal. Sensasi ini sering digambarkan sebagai layar „cair" atau „berminyak". Setelah menggunakan 120 Hz, kembali ke 60 Hz secara subjektif terasa seperti melambat, bahkan jika secara objektif tidak ada bingkai yang terlewat.

Bagaimana cara kerja layar 120 Hz

Layar 120 Hz secara fisik menyegarkan piksel 120 kali per detik, mengirimkan sinyal melalui bus MIPI DSI/DPI dengan frekuensi ganda. Setiap piksel menerima nilai kecerahan baru setiap 8,3 ms. Untuk panel OLED, ini berarti waktu emisi setiap subpiksel berkurang, yang memerlukan lampu latar yang lebih terang untuk mempertahankan kecerahan gambar yang sama.

Teknologi LTPO

LTPO (Low-Temperature Polycrystalline Oxide) — teknologi produksi layar OLED yang menggabungkan LTPS (kecepatan switching tinggi) dan IGZO (konsumsi daya rendah dalam keadaan statis). LTPO memungkinkan layar untuk mengubah kecepatan refresh secara dinamis dari 1 hingga 120 Hz tanpa biaya energi tambahan. Dalam mode Always-On Display, frekuensi turun menjadi 1 Hz, saat scrolling — naik menjadi 120 Hz. Ini memberikan penghematan hingga 30% energi dibandingkan dengan layar yang bekerja terus-menerus pada 120 Hz.

Frame Pacing pada 120fps

Frame pacing — keseragaman interval antar bingkai, parameter terpenting pada 120fps. Jika pada 60fps perbedaan 2–3 ms antar bingkai tidak terlihat, pada 120fps perbedaan absolut yang sama merupakan 25% dari durasi bingkai dan dirasakan sebagai sentakan. Untuk 120fps yang halus, setiap bingkai harus berada dalam 8,3 ms ±1 ms. Alat seperti FrameRate di Xcode Instruments menunjukkan tidak hanya FPS rata-rata, tetapi juga histogram interval untuk mengevaluasi frame pacing.

swift
// iOS — deteksi layar 120 Hz melalui CADisplayLink
func checkDisplayRefreshRate() {
    let link = CADisplayLink(target: self,
                                  selector: #selector(step))
    if let preferredRate = link?.preferredFrameRateRange {
        print("Frekuensi maks: \(preferredRate.maximum) Hz")
    }
}

ProMotion di iOS

ProMotion — merek dagang Apple untuk layar dengan kecepatan refresh adaptif hingga 120 Hz. Pertama kali diperkenalkan di iPad Pro 10,5 (2017), kemudian muncul di iPhone 13 Pro (2021) dan MacBook Pro (2021). ProMotion bukan sekadar 120 Hz — ini adalah manajemen frekuensi cerdas: sistem menganalisis jenis konten dan mengalihkan frekuensi untuk keseimbangan optimal antara kinerja dan konsumsi daya.

Mode kerja ProMotion

ProMotion mendukung empat mode: 24 Hz untuk konten statis dan video 24fps, 30 Hz untuk video 30fps, 60 Hz untuk navigasi UI dan 120 Hz untuk scrolling dan game. Peralihan antar mode terjadi dalam satu bingkai (8,3 ms) dan tidak terlihat oleh pengguna. Pengembang dapat memengaruhi pemilihan frekuensi melalui preferredFrameRateRange di CADisplayLink, tetapi keputusan akhir diambil oleh sistem berdasarkan analisis konten.

API untuk pengembang

Apple menyediakan API untuk bekerja dengan ProMotion sejak iOS 15. CADisplayLink.preferredFrameRateRange memungkinkan pengaturan rentang frekuensi yang diinginkan. UIScene.ActivationConditions dapat memengaruhi frekuensi saat transisi antar scene. Untuk rendering Metal, CAMetalLayer.displaySyncEnabled harus true untuk sinkronisasi dengan ProMotion. Jika aplikasi tidak dioptimalkan untuk 120fps, iOS secara otomatis mengalihkannya ke 60 Hz, yang terlihat di Xcode di bagian GPU Report.

swift
// iOS — permintaan 120fps untuk mode game
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)

Optimalisasi untuk 120fps

Optimalisasi untuk 120fps — bukan hanya mempercepat kode dua kali lipat, tetapi memikirkan ulang arsitektur rendering. Operasi yang muat dalam 16,7 ms pada 60fps sekarang harus dijalankan dalam 8,3 ms. Ini memengaruhi semua tahap pipeline: persiapan CPU, rendering GPU, dan panggilan sistem.

Mengurangi draw calls untuk 120fps

Pada 120fps, jumlah draw calls per bingkai harus dua kali lebih sedikit daripada 60fps untuk mempertahankan beban GPU yang sama. Jika pada 60fps diizinkan 400 draw calls, maka pada 120fps — tidak lebih dari 200. Gunakan atlas tekstur, penggabungan mesh, dan GPU-instancing untuk mengurangi panggilan rendering. Di Metal, gunakan Indirect Command Buffers, di Vulkan — Secondary Command Buffers untuk penulisan perintah secara paralel.

Shader — faktor kritis lainnya. Shader piksel kompleks dengan banyak pengambilan sampel tekstur dan operasi matematika dapat dengan mudah melebihi anggaran 8,3 ms. Gunakan shader dengan presisi rendah (half bukan float), kurangi jumlah instruksi dan sampel tekstur. Pada GPU mobile (Apple A17, Snapdragon 8 Gen 3), setiap pengambilan sampel tekstur membutuhkan 2–4 siklus, dan pada 120fps ini dapat menjadi hambatan.

CPU dan Main Thread

Pada 120fps, main thread harus menyiapkan bingkai dalam 4–5 ms untuk memberikan waktu GPU untuk rendering. Operasi sinkron apa pun di main thread — membaca dari database, parsing JSON, memuat gambar — menyebabkan sentakan. Pindahkan semua operasi berat ke thread latar belakang, gunakan API asinkron dan pool thread. Di iOS, DispatchQueue dengan qualityOfService .userInteractive harus dicadangkan hanya untuk kode rendering kritis.

KomponenAnggaran 120fpsAnggaran 60fps
CPU (main thread)4 ms8 ms
Rendering GPU4 ms8 ms
Komposit0,3 ms0,7 ms
Tunggu VSync0–2 ms0–5 ms

120fps vs 60fps

Perbandingan 120fps dan 60fps tidak terbatas pada penggandaan kehalusan. Perbedaan dirasakan secara berbeda tergantung pada jenis konten. Untuk scrolling dan animasi UI, 120fps secara subjektif memberikan antarmuka yang lebih „responsif". Untuk game, keunggulan 120fps terlihat dalam pengurangan keburaman gerakan dan pelacakan objek cepat yang lebih akurat.

Konsumsi daya — kompromi utama. 120fps mengkonsumsi 30–50% lebih banyak energi daripada 60fps pada kecerahan layar yang sama. Ini berarti pada baterai 4000 mAh, satu jam bermain game pada 120fps menguras baterai sekitar 25–30% lebih cepat. Layar LTPO sebagian mengatasi masalah dengan mengurangi frekuensi dalam adegan statis menjadi 1 Hz, tetapi dalam penggunaan aktif (scrolling, game) frekuensi tetap pada maksimum.

Pilihan antara 60fps dan 120fps tergantung pada prioritas pengembang. Untuk jejaring sosial, messenger, dan aplikasi berita, 120fps tidak memberikan keuntungan signifikan — interaksi dasar (membaca, memasukkan teks) tidak diuntungkan oleh super-halus. Untuk game, peta, editor grafis, dan aplikasi dengan animasi intensif, 120fps menjadi keunggulan kompetitif dan penanda kualitas.

Pengujian 120fps memerlukan pendekatan khusus: metrik 60fps standar tidak menunjukkan masalah frame pacing pada 120 Hz. Gunakan kamera berkecepatan tinggi (120+ fps) untuk merekam perilaku layar yang sebenarnya atau alat bawaan platform — Xcode Metal Capture untuk iOS dan AGI (Android GPU Inspector) untuk Android. Alat-alat ini menunjukkan waktu yang tepat dari setiap bingkai, termasuk penantian VSync, dan membantu mendeteksi mikro-sentakan.

Pertanyaan yang sering diajukan

Apakah 120fps selalu lebih baik daripada 60fps?

Tidak selalu. 120fps membutuhkan dua kali lebih banyak energi dan sumber daya komputasi. Untuk konten statis dan UI sederhana, 60fps sudah cukup. Keunggulan 120fps terlihat dalam adegan dinamis: scrolling, game, animasi transisi.

Bagaimana cara memeriksa apakah aplikasi berjalan pada 120fps?

Gunakan Xcode Instruments (template Core Animation) atau Android Studio Profiler. Di iOS, periksa CADisplayLink.timestamp — interval antara panggilan harus sekitar 8,3 ms. Di Android, aktifkan Show refresh rate di Developer Options.

Mengapa 120fps lebih cepat menguras baterai?

Layar menyegarkan piksel dua kali lebih sering, GPU melakukan dua kali lebih banyak operasi rendering, CPU memproses dua kali lebih banyak bingkai. Setiap operasi mengonsumsi energi. Layar LTPO mengurangi frekuensi dalam keadaan statis, tetapi dalam penggunaan aktif konsumsi daya meningkat sebanding dengan frekuensi.

Bisakah aplikasi berjalan pada 120fps di Android?

Ya. Mulai dari Android 11, sistem mendukung berbagai kecepatan refresh. Pengembang dapat meminta 120 Hz melalui WindowManager.setPreferredRefreshRate. Namun, tidak semua perangkat dapat mempertahankan 120fps secara stabil — diperlukan optimalisasi rendering GPU.

Akankah pengguna biasa melihat perbedaan antara 60 dan 120fps?

Dalam uji buta, sebagian besar pengguna melihat perbedaan saat scrolling dan animasi. Namun, untuk penggunaan biasa (media sosial, video, messenger) perbedaannya secara subjektif kecil. Setelah terbiasa dengan 120 Hz, kembali ke 60 Hz terasa seperti melambat.

Kesimpulan

  • 120fps — frekuensi bingkai dengan anggaran 8,3 ms untuk animasi super halus
  • ProMotion — teknologi adaptif Apple dengan rentang 24–120 Hz
  • Layar LTPO secara dinamis mengubah frekuensi dari 1 hingga 120 Hz untuk penghematan energi
  • Frame pacing kritis pada 120fps — ketidakseragaman 2–3 ms sudah terlihat
  • Draw calls pada 120fps tidak boleh melebihi 200 per bingkai
  • Konsumsi daya 120fps 30–50% lebih tinggi daripada 60fps
  • Pilihan 120fps dibenarkan untuk game, peta, dan aplikasi dengan animasi intensif

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga