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 се при 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) Гц")
    }
}

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. Користите текстурне атласе, спајање мешева и GPU инстанцирање за смањење позива за цртање. На Metal-у користите Indirect Command Buffers, на Vulkan-у — Secondary Command Buffers за паралелно писање команди.

Shader-и — још један критични фактор. Сложени пикселски шейдери са вишеструким узорковањем текстура и математичким операцијама могу лако да пређу буџет од 8,3 ms. Користите шейдере са ниском прецизношћу (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
GPU рендеровање4 ms8 ms
Композит0,3 ms0,7 ms
VSync чекање0–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. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође