120fps — frequency ng 120 frame bawat segundo, available sa mga display na may 120 Hz refresh rate, kung saan ang bawat frame ay tumatagal ng 8.3 ms. Ayon sa Apple WWDC 2023 Session, awtomatikong inililipat ng ProMotion ang frequency mula 24 hanggang 120 Hz para sa balanse ng kinis at konsumo ng kuryente. 8.3 ms — ito ay dalawang beses na mas mababa kaysa sa standard budget, na nangangailangan ng seryosong pag-optimize ng rendering.
Mga pangunahing punto
120fps — dobleng frequency ng frame kumpara sa standard, kung saan nire-refresh ng display ang imahe ng 120 beses bawat segundo. Ang bawat frame ay may time budget na 8.33 ms — kalahati ng 60fps. Ibig sabihin nito, ang GPU at CPU ay dapat magproseso ng graphics ng dalawang beses na mas mabilis, at lahat ng algorithm na gumagana sa 16.7 ms sa 60fps ay umaangkop sa 120fps lamang sa kondisyon ng dobleng kahusayan.
Ang unang mobile device na may 120 Hz display ay ang Razer Phone (2017) na may IGZO panel mula sa Sharp. Ipinakilala ng Apple ang 120 Hz sa iPad Pro (2017) sa ilalim ng pangalang ProMotion, at sa iPhone — noong 2021 lamang sa iPhone 13 Pro. Sa Android, naging malawakan ang 120 Hz mula 2020: Samsung Galaxy S20, OnePlus 8 Pro, Xiaomi Mi 10. Ngayon, ang 90–120 Hz ay standard para sa mga flagship device, at ang teknolohiyang LTPO ay nagbibigay-daan sa dynamic na pagbabago ng frequency.
Ang persepsyon ng 120fps ng gumagamit ay naiiba sa 60fps hindi sa kawalan ng mga pag-jerk, kundi sa pakiramdam ng agarang pagtugon — ang cursor, scrolling, mga animation ay sumusunod sa daliri na may minimal na pagkaantala. Ang pakiramdam na ito ay madalas na inilalarawan bilang isang „likido" o „mantika" na screen. Pagkatapos gumamit ng 120 Hz, ang pagbabalik sa 60 Hz ay subjective na nararamdaman bilang pagbagal, kahit na walang mga nawawalang frame sa objektibong paraan.
Ang 120 Hz display ay physically nire-refresh ang mga pixel ng 120 beses bawat segundo, nagpapadala ng signal sa pamamagitan ng MIPI DSI/DPI bus na may dobleng frequency. Ang bawat pixel ay nakakatanggap ng bagong halaga ng liwanag tuwing 8.3 ms. Para sa mga OLED panel, ibig sabihin nito na ang oras ng emisyon ng bawat subpixel ay umiikli, na nangangailangan ng mas maliwanag na backlight upang mapanatili ang parehong liwanag ng imahe.
LTPO (Low-Temperature Polycrystalline Oxide) — teknolohiya ng paggawa ng OLED display na pinagsasama ang LTPS (mataas na bilis ng switching) at IGZO (mababang konsumo ng kuryente sa static state). Pinapayagan ng LTPO ang display na dynamic na baguhin ang refresh rate mula 1 hanggang 120 Hz nang walang karagdagang gastos sa enerhiya. Sa Always-On Display mode, bumababa ang frequency sa 1 Hz, sa scrolling — tumataas sa 120 Hz. Ito ay nagbibigay ng pag-iimpok ng hanggang 30% na enerhiya kumpara sa mga display na patuloy na gumagana sa 120 Hz.
Frame pacing — pagkakapantay-pantay ng mga interval sa pagitan ng mga frame, ang pinakamahalagang parameter sa 120fps. Kung sa 60fps ang pagkakaiba ng 2–3 ms sa pagitan ng mga frame ay hindi napapansin, sa 120fps ang parehong absolute na pagkakaiba ay 25% ng tagal ng frame at nararamdaman bilang jerk. Para sa makinis na 120fps, ang bawat frame ay dapat pumasok sa 8.3 ms ±1 ms. Ang mga tool tulad ng FrameRate sa Xcode Instruments ay nagpapakita hindi lamang ng average na FPS, kundi pati na rin ng histogram ng mga interval para sa pagsusuri ng frame pacing.
// iOS — pag-detect ng 120 Hz display sa pamamagitan ng CADisplayLink
func checkDisplayRefreshRate() {
let link = CADisplayLink(target: self,
selector: #selector(step))
if let preferredRate = link?.preferredFrameRateRange {
print("Max na frequency: \( preferredRate.maximum) Hz")
}
}
ProMotion — trademark ng Apple para sa mga display na may adaptive refresh rate hanggang 120 Hz. Unang ipinakilala sa iPad Pro 10.5 (2017), pagkatapos ay lumitaw sa iPhone 13 Pro (2021) at MacBook Pro (2021). Ang ProMotion ay hindi lamang 120 Hz — ito ay matalinong pamamahala ng frequency: sinusuri ng system ang uri ng nilalaman at inililipat ang frequency para sa optimal na balanse ng performance at konsumo ng kuryente.
ProMotion ay sumusuporta sa apat na mode: 24 Hz para sa static na nilalaman at video na 24fps, 30 Hz para sa video na 30fps, 60 Hz para sa UI navigation at 120 Hz para sa scrolling at mga laro. Ang paglipat sa pagitan ng mga mode ay nangyayari sa isang frame (8.3 ms) at hindi napapansin ng gumagamit. Ang developer ay maaaring makaimpluwensya sa pagpili ng frequency sa pamamagitan ng preferredFrameRateRange sa CADisplayLink, ngunit ang pinal na desisyon ay ginagawa ng system batay sa pagsusuri ng nilalaman.
Nagbibigay ang Apple ng API para sa pagtatrabaho sa ProMotion simula sa iOS 15. Ang CADisplayLink.preferredFrameRateRange ay nagpapahintulot sa pagtakda ng gustong range ng frequency. Ang UIScene.ActivationConditions ay maaaring makaimpluwensya sa frequency sa paglipat sa pagitan ng mga scene. Para sa Metal rendering, ang CAMetalLayer.displaySyncEnabled ay dapat na true para sa synchronization sa ProMotion. Kung ang app ay hindi na-optimize para sa 120fps, awtomatikong inililipat ito ng iOS sa 60 Hz, na makikita sa Xcode sa seksyong GPU Report.
// iOS — kahilingan para sa 120fps para sa game mode
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)
Pag-optimize para sa 120fps — hindi lamang pagpapabilis ng code nang dalawang beses, kundi muling pag-iisip ng arkitektura ng rendering. Ang mga operasyon na umaangkop sa 16.7 ms sa 60fps ay dapat na ngayong isagawa sa 8.3 ms. Ito ay nakakaapekto sa lahat ng yugto ng pipeline: paghahanda ng CPU, rendering ng GPU at mga tawag sa system.
Sa 120fps, ang bilang ng draw calls bawat frame ay dapat dalawang beses na mas mababa kaysa sa 60fps upang mapanatili ang parehong pagkarga ng GPU. Kung sa 60fps ay pinapayagan ang 400 draw calls, sa 120fps — hindi hihigit sa 200. Gumamit ng texture atlases, pagsasama ng mesh, at GPU-instancing upang bawasan ang mga tawag sa rendering. Sa Metal, gumamit ng Indirect Command Buffers, sa Vulkan — Secondary Command Buffers para sa parallel na pagsulat ng mga command.
Shader — isa pang kritikal na factor. Ang mga kumplikadong pixel shader na may maraming texture sampling at matematikal na operasyon ay madaling lumampas sa budget na 8.3 ms. Gumamit ng mga shader na may mababang precision (half sa halip na float), bawasan ang bilang ng mga instruction at texture sample. Sa mga mobile GPU (Apple A17, Snapdragon 8 Gen 3), ang bawat texture sampling ay tumatagal ng 2–4 cycles, at sa 120fps ito ay maaaring maging bottleneck.
Sa 120fps, ang main thread ay dapat maghanda ng frame sa loob ng 4–5 ms upang mag-iwan ng oras para sa GPU rendering. Anumang synchronus na operasyon sa main thread — pagbabasa mula sa database, pag-parse ng JSON, pag-load ng mga imahe — ay lumilikha ng jerk. Ilipat ang lahat ng mabibigat na operasyon sa background threads, gumamit ng asynchronous API at thread pools. Sa iOS, ang DispatchQueue na may qualityOfService .userInteractive ay dapat na naka-reserve lamang para sa kritikal na rendering code.
| Component | 120fps budget | 60fps budget |
|---|---|---|
| CPU (main thread) | 4 ms | 8 ms |
| GPU rendering | 4 ms | 8 ms |
| Composit | 0.3 ms | 0.7 ms |
| VSync waiting | 0–2 ms | 0–5 ms |
Paghahambing ng 120fps at 60fps ay hindi lamang tungkol sa pagdodoble ng kinis. Ang pagkakaiba ay naiiba ang persepsyon depende sa uri ng nilalaman. Para sa scrolling at UI animation, ang 120fps ay subjective na nagbibigay ng mas „responsive" na interface. Para sa mga laro, ang bentahe ng 120fps ay makikita sa pagbawas ng motion blur at mas tumpak na pagsubaybay ng mga mabilis na bagay.
Konsumo ng kuryente — pangunahing kompromiso. Ang 120fps ay kumokonsumo ng 30–50% mas maraming enerhiya kaysa sa 60fps sa parehong liwanag ng display. Ibig sabihin nito, sa isang 4000 mAh na baterya, isang oras ng paglalaro sa 120fps ay nagdedrain ng baterya nang humigit-kumulang 25–30% mas mabilis. Ang mga LTPO display ay bahagyang nilulutas ang problema sa pamamagitan ng pagbabawas ng frequency sa static na mga eksena sa 1 Hz, ngunit sa aktibong paggamit (scrolling, laro) ang frequency ay nananatili sa maximum.
Ang pagpili sa pagitan ng 60fps at 120fps ay depende sa mga priyoridad ng developer. Para sa social media, messenger at balita apps, ang 120fps ay hindi nagbibigay ng makabuluhang bentahe — ang pangunahing interaksyon (pagbabasa, pag-input ng text) ay hindi nakikinabang mula sa sobrang kinis. Para sa mga laro, mapa, graphic editor at apps na may masinsinang animation, ang 120fps ay nagiging competitive advantage at marker ng kalidad.
Pagsubok ng 120fps ay nangangailangan ng espesyal na approach: ang standard na 60fps metrics ay hindi nagpapakita ng mga problema sa frame pacing sa 120 Hz. Gumamit ng high-speed camera (120+ fps) para sa pag-record ng aktwal na pag-uugali ng screen o ang built-in na platform tools — Xcode Metal Capture para sa iOS at AGI (Android GPU Inspector) para sa Android. Ang mga tool na ito ay nagpapakita ng eksaktong oras ng bawat frame, kabilang ang VSync waiting, at tumutulong na matukoy ang micro-jerks.
Mga madalas itanong
Hindi palagi. Ang 120fps ay nangangailangan ng dalawang beses na mas maraming enerhiya at computational resources. Para sa static na nilalaman at simpleng UI, sapat na ang 60fps. Ang bentahe ng 120fps ay kapansin-pansin sa mga dynamic na eksena: scrolling, laro, transition animation.
Gumamit ng Xcode Instruments (Core Animation template) o Android Studio Profiler. Sa iOS, suriin ang CADisplayLink.timestamp — ang interval sa pagitan ng mga tawag ay dapat mga 8.3 ms. Sa Android, i-on ang Show refresh rate sa Developer Options.
Ang display ay nire-refresh ang mga pixel ng dalawang beses na mas madalas, ang GPU ay nagsasagawa ng dalawang beses na mas maraming rendering operations, ang CPU ay nagpoproseso ng dalawang beses na mas maraming frame. Bawat operasyon ay kumokonsumo ng enerhiya. Ang mga LTPO display ay nagbabawas ng frequency sa static state, ngunit sa aktibong paggamit ang konsumo ng kuryente ay tumataas proporsyonal sa frequency.
Oo. Simula sa Android 11, sinusuportahan ng system ang iba't ibang refresh rate. Ang developer ay maaaring humiling ng 120 Hz sa pamamagitan ng WindowManager.setPreferredRefreshRate. Gayunpaman, hindi lahat ng device ay stable na nagpapanatili ng 120fps — kinakailangan ang pag-optimize ng GPU rendering.
Sa blind test, karamihan ng mga gumagamit ay napapansin ang pagkakaiba sa scrolling at animation. Gayunpaman, para sa ordinaryong paggamit (social media, video, messenger) ang pagkakaiba ay subjective na maliit. Pagkatapos masanay sa 120 Hz, ang pagbabalik sa 60 Hz ay nararamdaman bilang pagbagal.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din