120fps στην ανάπτυξη εφαρμογών για κινητά — τι είναι, χαρακτηριστικά ProMotion και βελτιστοποίηση

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-04-01 Χρόνος ανάγνωσης: 8 λεπ

120fps — ρυθμός 120 καρέ ανά δευτερόλεπτο, διαθέσιμος σε οθόνες με συχνότητα ανανέωσης 120 Hz, όπου κάθε καρέ διαρκεί 8,3 ms. Σύμφωνα με το Apple WWDC 2023 Session, το ProMotion αλλάζει αυτόματα τη συχνότητα από 24 έως 120 Hz για ισορροπία ομαλότητας και κατανάλωσης ενέργειας. 8,3 ms — είναι δύο φορές λιγότερο από τον τυπικό προϋπολογισμό, που απαιτεί σοβαρή βελτιστοποίηση απόδοσης.

Κύρια σημεία

  • 120fps — ρυθμός 120 καρέ ανά δευτερόλεπτο με προϋπολογισμό απόδοσης 8,3 ms ανά καρέ
  • ProMotion — τεχνολογία Apple με δυναμική συχνότητα από 24 έως 120 Hz
  • Οθόνες LTPO — πάνελ οξειδίου πολυκρυσταλλικού πυριτίου χαμηλής θερμοκρασίας, υποστήριξη 1–120 Hz
  • Frame pacing — ομοιομορφία εξόδου καρέ, κρίσιμη στα 120fps
  • Βελτιστοποίηση για 120fps απαιτεί διπλάσια αποδοτικό κώδικα από ό,τι για 60fps

Τι είναι το 120fps

120fps — διπλάσιος ρυθμός καρέ σε σχέση με το πρότυπο, κατά τον οποίο η οθόνη ανανεώνει την εικόνα 120 φορές το δευτερόλεπτο. Κάθε καρέ έχει χρονικό προϋπολογισμό 8,33 ms — το μισό από τα 60fps. Αυτό σημαίνει ότι η GPU και η CPU πρέπει να επεξεργάζονται τα γραφικά δύο φορές πιο γρήγορα, και όλοι οι αλγόριθμοι που λειτουργούν σε 16,7 ms στα 60fps χωρούν στα 120fps μόνο με διπλάσια απόδοση.

Η πρώτη κινητή συσκευή με οθόνη 120 Hz ήταν το Razer Phone (2017) με πάνελ IGZO της Sharp. Η Apple εισήγαγε τα 120 Hz στο iPad Pro (2017) με την ονομασία ProMotion, και στο iPhone — μόνο το 2021 στο iPhone 13 Pro. Στο Android, τα 120 Hz έγιναν μαζικά από το 2020: Samsung Galaxy S20, OnePlus 8 Pro, Xiaomi Mi 10. Σήμερα τα 90–120 Hz είναι το πρότυπο για κορυφαίες συσκευές, και η τεχνολογία LTPO επιτρέπει τη δυναμική αλλαγή συχνότητας.

Η αντίληψη των 120fps από τον χρήστη διαφέρει από τα 60fps όχι τόσο στην απουσία τραυλισμών, όσο στην αίσθηση άμεσης απόκρισης — ο δρομέας, η κύλιση, οι κινήσεις ακολουθούν το δάχτυλο με ελάχιστη καθυστέρηση. Αυτή η αίσθηση περιγράφεται συχνά ως „υγρή" ή „λαδερή" οθόνη. Μετά τη χρήση 120 Hz, η επιστροφή στα 60 Hz γίνεται υποκειμενικά αισθητή ως επιβράδυνση, ακόμα κι αν δεν υπάρχει αντικειμενική απώλεια καρέ.

Πώς λειτουργούν οι οθόνες 120 Hz

Η οθόνη 120 Hz φυσικά ανανεώνει τα εικονοστοιχεία 120 φορές το δευτερόλεπτο, στέλνοντας σήμα μέσω του διαύλου MIPI DSI/DPI με διπλάσια συχνότητα. Κάθε εικονοστοιχείο λαμβάνει μια νέα τιμή φωτεινότητας κάθε 8,3 ms. Για πάνελ OLED, αυτό σημαίνει ότι ο χρόνος εκπομπής κάθε υποεικονοστοιχείου μειώνεται, απαιτώντας φωτεινότερο οπίσθιο φωτισμό για να διατηρηθεί η ίδια φωτεινότητα εικόνας.

Τεχνολογία LTPO

LTPO (Low-Temperature Polycrystalline Oxide) — τεχνολογία κατασκευής οθονών OLED που συνδυάζει LTPS (υψηλή ταχύτητα εναλλαγής) και IGZO (χαμηλή κατανάλωση ενέργειας σε στατική κατάσταση). Το LTPO επιτρέπει στην οθόνη να αλλάζει δυναμικά τη συχνότητα ανανέωσης από 1 έως 120 Hz χωρίς πρόσθετο ενεργειακό κόστος. Στη λειτουργία Always-On Display, η συχνότητα πέφτει στο 1 Hz, στην κύλιση — ανεβαίνει στα 120 Hz. Αυτό παρέχει εξοικονόμηση έως 30% ενέργειας σε σύγκριση με οθόνες που λειτουργούν συνεχώς στα 120 Hz.

Frame Pacing στα 120fps

Frame pacing — η ομοιομορφία των διαστημάτων μεταξύ καρέ, η σημαντικότερη παράμετρος στα 120fps. Εάν στα 60fps μια διαφορά 2–3 ms μεταξύ καρέ είναι ανεπαίσθητη, στα 120fps η ίδια απόλυτη διαφορά αποτελεί το 25% της διάρκειας καρέ και γίνεται αντιληπτή ως τραύλισμα. Για ομαλά 120fps, κάθε καρέ πρέπει να εμπίπτει σε 8,3 ms ±1 ms. Εργαλεία όπως το FrameRate στο Xcode Instruments δείχνουν όχι μόνο τον μέσο FPS, αλλά και το ιστόγραμμα διαστημάτων για την αξιολόγηση του frame pacing.

swift
// iOS — ανίχνευση οθόνης 120 Hz μέσω CADisplayLink
func checkDisplayRefreshRate() {
    let link = CADisplayLink(target: self,
                                  selector: #selector(step))
    if let preferredRate = link?.preferredFrameRateRange {
        print("Μέγ. συχνότητα: \(preferredRate.maximum) Hz")
    }
}

ProMotion στο iOS

ProMotion — εμπορικό σήμα της Apple για οθόνες με προσαρμοστική συχνότητα ανανέωσης έως 120 Hz. Παρουσιάστηκε για πρώτη φορά στο iPad Pro 10,5 (2017), στη συνέχεια εμφανίστηκε στο iPhone 13 Pro (2021) και στο MacBook Pro (2021). Το ProMotion δεν είναι απλώς 120 Hz — είναι έξυπνη διαχείριση συχνότητας: το σύστημα αναλύει τον τύπο περιεχομένου και αλλάζει τη συχνότητα για τη βέλτιστη ισορροπία απόδοσης και κατανάλωσης ενέργειας.

Λειτουργίες ProMotion

Το ProMotion υποστηρίζει τέσσερις λειτουργίες: 24 Hz για στατικό περιεχόμενο και βίντεο 24fps, 30 Hz για βίντεο 30fps, 60 Hz για πλοήγηση UI και 120 Hz για κύλιση και παιχνίδια. Η εναλλαγή μεταξύ λειτουργιών γίνεται σε ένα καρέ (8,3 ms) και είναι αόρατη για τον χρήστη. Ο προγραμματιστής μπορεί να επηρεάσει την επιλογή συχνότητας μέσω του preferredFrameRateRange στο CADisplayLink, αλλά την τελική απόφαση λαμβάνει το σύστημα βάσει ανάλυσης περιεχομένου.

API για προγραμματιστές

Η Apple παρέχει API για εργασία με ProMotion από το iOS 15. Το CADisplayLink.preferredFrameRateRange επιτρέπει τον ορισμό του προτιμώμενου εύρους συχνότητας. Το UIScene.ActivationConditions μπορεί να επηρεάσει τη συχνότητα κατά τη μετάβαση μεταξύ σκηνών. Για απόδοση Metal, το CAMetalLayer.displaySyncEnabled πρέπει να είναι true για συγχρονισμό με ProMotion. Εάν η εφαρμογή δεν είναι βελτιστοποιημένη για 120fps, το iOS την αλλάζει αυτόματα στα 60 Hz, κάτι που φαίνεται στο Xcode στην ενότητα GPU Report.

swift
// iOS — αίτημα 120fps για λειτουργία παιχνιδιού
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

Βελτιστοποίηση για 120fps — δεν είναι απλώς η επιτάχυνση του κώδικα στο διπλάσιο, αλλά η επανεξέταση της αρχιτεκτονικής απόδοσης. Οι λειτουργίες που χωρούσαν σε 16,7 ms στα 60fps πρέπει τώρα να εκτελούνται σε 8,3 ms. Αυτό επηρεάζει όλα τα στάδια της γραμμής παραγωγής: προετοιμασία CPU, απόδοση GPU και κλήσεις συστήματος.

Μείωση draw calls για 120fps

Στα 120fps, ο αριθμός draw calls ανά καρέ πρέπει να είναι διπλάσια μικρότερος από ό,τι στα 60fps για να διατηρηθεί το ίδιο φορτίο GPU. Εάν στα 60fps επιτρέπονται 400 draw calls, στα 120fps — όχι περισσότερα από 200. Χρησιμοποιήστε άτλαντες υφής, συγχώνευση mesh και GPU-instancing για μείωση κλήσεων απόδοσης. Στο Metal, χρησιμοποιήστε Indirect Command Buffers, στο Vulkan — Secondary Command Buffers για παράλληλη εγγραφή εντολών.

Shader — ένας άλλος κρίσιμος παράγοντας. Σύνθετα shader εικονοστοιχείων με πολλαπλή δειγματοληψία υφής και μαθηματικές πράξεις μπορούν εύκολα να υπερβούν τον προϋπολογισμό των 8,3 ms. Χρησιμοποιήστε shader χαμηλής ακρίβειας (half αντί για float), μειώστε τον αριθμό εντολών και δειγμάτων υφής. Σε κινητές GPU (Apple A17, Snapdragon 8 Gen 3), κάθε δειγματοληψία υφής διαρκεί 2–4 κύκλους, και στα 120fps αυτό μπορεί να γίνει σημείο συμφόρησης.

CPU και Main Thread

Στα 120fps, το main thread πρέπει να προετοιμάσει το καρέ σε 4–5 ms για να αφήσει χρόνο στην GPU για απόδοση. Οποιαδήποτε σύγχρονη λειτουργία στο main thread — ανάγνωση από βάση δεδομένων, ανάλυση JSON, φόρτωση εικόνων — δημιουργεί τραύλισμα. Μεταφέρετε όλες τις βαριές λειτουργίες σε νήματα παρασκηνίου, χρησιμοποιήστε ασύγχρονα API και ομάδες νημάτων. Στο iOS, το DispatchQueue με qualityOfService .userInteractive πρέπει να προορίζεται μόνο για κρίσιμο κώδικα απόδοσης.

ΣτοιχείοΠροϋπολογισμός 120fpsΠροϋπολογισμός 60fps
CPU (main thread)4 ms8 ms
Απόδοση GPU4 ms8 ms
Σύνθεση0,3 ms0,7 ms
Αναμονή VSync0–2 ms0–5 ms

120fps vs 60fps

Η σύγκριση 120fps και 60fps δεν περιορίζεται στον διπλασιασμό της ομαλότητας. Η διαφορά γίνεται αντιληπτή διαφορετικά ανάλογα με τον τύπο περιεχομένου. Για κύλιση και κινήσεις UI, τα 120fps δίνουν υποκειμενικά πιο „ανταποκρίσιμη" διεπαφή. Για παιχνίδια, το πλεονέκτημα των 120fps εκδηλώνεται στη μείωση του θολώματος κίνησης και στην ακριβέστερη παρακολούθηση γρήγορων αντικειμένων.

Κατανάλωση ενέργειας — ο κύριος συμβιβασμός. Τα 120fps καταναλώνουν 30–50% περισσότερη ενέργεια από τα 60fps στην ίδια φωτεινότητα οθόνης. Αυτό σημαίνει ότι σε μπαταρία 4000 mAh, μία ώρα παιχνιδιού στα 120fps αποφορτίζει την μπαταρία περίπου 25–30% γρηγορότερα. Οι οθόνες LTPO λύνουν εν μέρει το πρόβλημα μειώνοντας τη συχνότητα σε στατικές σκηνές στο 1 Hz, αλλά σε ενεργή χρήση (κύλιση, παιχνίδια) η συχνότητα παραμένει στο μέγιστο.

Η επιλογή μεταξύ 60fps και 120fps εξαρτάται από τις προτεραιότητες του προγραμματιστή. Για κοινωνικά δίκτυα, εφαρμογές ανταλλαγής μηνυμάτων και ειδήσεων, τα 120fps δεν προσφέρουν σημαντικό πλεονέκτημα — η βασική αλληλεπίδραση (ανάγνωση, εισαγωγή κειμένου) δεν επωφελείται από την υπερ-ομαλότητα. Για παιχνίδια, χάρτες, επεξεργαστές γραφικών και εφαρμογές με εντατική κίνηση, τα 120fps γίνονται ανταγωνιστικό πλεονέκτημα και δείκτης ποιότητας.

Η δοκιμή 120fps απαιτεί ειδική προσέγγιση: οι τυπικές μετρήσεις 60fps δεν δείχνουν προβλήματα frame pacing στα 120 Hz. Χρησιμοποιήστε κάμερα υψηλής ταχύτητας (120+ fps) για καταγραφή της πραγματικής συμπεριφοράς της οθόνης ή τα ενσωματωμένα εργαλεία πλατφόρμας — Xcode Metal Capture για iOS και AGI (Android GPU Inspector) για Android. Αυτά τα εργαλεία δείχνουν τον ακριβή χρόνο κάθε καρέ, συμπεριλαμβανομένης της αναμονής VSync, και βοηθούν στον εντοπισμό μικρο-τραυλισμών.

Συχνές ερωτήσεις

Είναι τα 120fps πάντα καλύτερα από τα 60fps;

Όχι πάντα. Τα 120fps απαιτούν διπλάσια ενέργεια και υπολογιστικούς πόρους. Για στατικό περιεχόμενο και απλό UI, τα 60fps επαρκούν. Το πλεονέκτημα των 120fps είναι αισθητό σε δυναμικές σκηνές: κύλιση, παιχνίδια, κινήσεις μετάβασης.

Πώς να ελέγξω αν η εφαρμογή λειτουργεί στα 120fps;

Χρησιμοποιήστε Xcode Instruments (πρότυπο Core Animation) ή Android Studio Profiler. Στο iOS, ελέγξτε το CADisplayLink.timestamp — το διάστημα μεταξύ κλήσεων πρέπει να είναι περίπου 8,3 ms. Στο Android, ενεργοποιήστε το Show refresh rate στο Developer Options.

Γιατί τα 120fps αποφορτίζουν την μπαταρία γρηγορότερα;

Η οθόνη ανανεώνει τα εικονοστοιχεία δύο φορές συχνότερα, η GPU εκτελεί διπλάσιες λειτουργίες απόδοσης, η CPU επεξεργάζεται διπλάσια καρέ. Κάθε λειτουργία καταναλώνει ενέργεια. Οι οθόνες LTPO μειώνουν τη συχνότητα σε στατική κατάσταση, αλλά σε ενεργή χρήση η κατανάλωση ενέργειας αυξάνεται αναλογικά με τη συχνότητα.

Μπορεί μια εφαρμογή να λειτουργήσει στα 120fps στο Android;

Ναι. Από το Android 11, το σύστημα υποστηρίζει διαφορετικές συχνότητες ανανέωσης. Ο προγραμματιστής μπορεί να ζητήσει 120 Hz μέσω του WindowManager.setPreferredRefreshRate. Ωστόσο, δεν διατηρούν όλες οι συσκευές σταθερά τα 120fps — απαιτείται βελτιστοποίηση απόδοσης GPU.

Θα παρατηρήσει ο μέσος χρήστης τη διαφορά μεταξύ 60 και 120fps;

Σε τυφλή δοκιμή, οι περισσότεροι χρήστες παρατηρούν τη διαφορά στην κύλιση και τις κινήσεις. Ωστόσο, για συνήθη χρήση (κοινωνικά δίκτυα, βίντεο, εφαρμογές ανταλλαγής μηνυμάτων) η διαφορά είναι υποκειμενικά μικρή. Μετά τον εθισμό στα 120 Hz, η επιστροφή στα 60 Hz γίνεται αισθητή ως επιβράδυνση.

Σύνοψη

  • 120fps — ρυθμός καρέ με προϋπολογισμό 8,3 ms για υπερ-ομαλή κίνηση
  • ProMotion — προσαρμοστική τεχνολογία Apple με εύρος 24–120 Hz
  • Οθόνες LTPO αλλάζουν δυναμικά τη συχνότητα από 1 έως 120 Hz για εξοικονόμηση ενέργειας
  • Frame pacing είναι κρίσιμο στα 120fps — ανομοιομορφία 2–3 ms είναι ήδη αισθητή
  • Draw calls στα 120fps δεν πρέπει να υπερβαίνουν τα 200 ανά καρέ
  • Κατανάλωση ενέργειας 120fps είναι 30–50% υψηλότερη από 60fps
  • Η επιλογή 120fps δικαιολογείται για παιχνίδια, χάρτες και εφαρμογές με εντατική κίνηση

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης