120fps no desenvolvimento mobile — o que é, recursos do ProMotion e otimização

Autor: IT Sectr Publicado: 2026-04-01 Tempo de leitura: 8 min

120fps — uma taxa de 120 quadros por segundo disponível em telas com taxa de atualização de 120 Hz, onde cada quadro leva 8.3 ms. De acordo com Apple WWDC 2023 Session, o ProMotion alterna automaticamente a frequência de 24 a 120 Hz para equilibrar suavidade e consumo de energia. 8.3 ms é metade do orçamento padrão, exigindo otimização séria de renderização.

Principais pontos

  • 120fps — taxa de 120 quadros por segundo com orçamento de renderização de 8.3 ms por quadro
  • ProMotion — tecnologia da Apple com frequência dinâmica de 24 a 120 Hz
  • Telas LTPO — painéis com óxido policristalino de baixa temperatura suportando 1–120 Hz
  • Frame pacing — uniformidade na saída de quadros, crítica a 120fps
  • Otimização para 120fps exige código duas vezes mais eficiente que para 60fps

O que é 120fps

120fps é o dobro da taxa de quadros padrão, onde a tela atualiza a imagem 120 vezes por segundo. Cada quadro tem um orçamento de 8.33 ms — metade do orçamento de 60fps. Isso significa que a GPU e a CPU devem processar gráficos com o dobro da velocidade, e todos os algoritmos que funcionam em 16.7 ms a 60fps só se encaixam a 120fps se forem duas vezes mais eficientes.

O primeiro dispositivo móvel com tela de 120 Hz foi o Razer Phone (2017) com painel IGZO da Sharp. A Apple introduziu 120 Hz no iPad Pro (2017) sob o nome ProMotion, e nos iPhones apenas em 2021 com o iPhone 13 Pro. No Android, 120 Hz se tornou mainstream a partir de 2020: Samsung Galaxy S20, OnePlus 8 Pro, Xiaomi Mi 10. Hoje, 90–120 Hz é o padrão para dispositivos flagship, e a tecnologia LTPO permite a comutação dinâmica de frequência.

A percepção do usuário de 120fps difere de 60fps não tanto pela ausência de engasgos, mas pela sensação de resposta instantânea — o cursor, a rolagem e as animações seguem o dedo com latência mínima. Essa sensação é frequentemente descrita como uma tela “líquida” ou “oleosa”. Após usar 120 Hz, retornar a 60 Hz subjetivamente parece lento, mesmo sem quedas objetivas de quadros.

Como funcionam as telas de 120 Hz

Uma tela de 120 Hz atualiza fisicamente os pixels 120 vezes por segundo, enviando um sinal pelo barramento MIPI DSI/DPI com o dobro da frequência. Cada pixel recebe um novo valor de brilho a cada 8.3 ms. Para painéis OLED, isso significa que o tempo de emissão de cada subpixel é reduzido, exigindo retroiluminação mais brilhante para manter o mesmo brilho da imagem.

Tecnologia LTPO

LTPO (óxido policristalino de baixa temperatura) é uma tecnologia de fabricação de telas OLED que combina LTPS (alta velocidade de comutação) e IGZO (baixo consumo em repouso). O LTPO permite que a tela mude dinamicamente sua taxa de atualização de 1 a 120 Hz sem custo adicional de energia. No modo Always-On Display, a frequência cai para 1 Hz; durante a rolagem, sobe para 120 Hz. Isso proporciona uma economia de energia de até 30% em comparação com telas que funcionam constantemente a 120 Hz.

Frame Pacing a 120fps

Frame pacing — a uniformidade dos intervalos entre os quadros, é o parâmetro mais importante a 120fps. Enquanto a 60fps uma diferença de 2–3 ms entre quadros é imperceptível, a 120fps a mesma diferença absoluta representa 25% da duração do quadro e é percebida como engasgo. Para um 120fps suave, cada quadro deve caber em 8.3 ms ±1 ms. Ferramentas como FrameRate no Xcode Instruments mostram não apenas o FPS médio, mas também um histograma de intervalos para avaliar o frame pacing.

swift
// iOS — detectar tela de 120 Hz via CADisplayLink
func checkDisplayRefreshRate() {
    let link = CADisplayLink(target: self,
                                  selector: #selector(step))
    if let preferredRate = link?.preferredFrameRateRange {
        print("Frequência máx.: \(preferredRate.maximum) Hz")
    }
}

ProMotion no iOS

ProMotion é a marca registrada da Apple para telas com taxas de atualização adaptativas de até 120 Hz. Introduzido pela primeira vez no iPad Pro 10.5 (2017), depois apareceu no iPhone 13 Pro (2021) e MacBook Pro (2021). O ProMotion não é apenas 120 Hz — é gerenciamento inteligente de frequência: o sistema analisa o tipo de conteúdo e altera a frequência para o equilíbrio ótimo entre desempenho e consumo de energia.

Modos de operação do ProMotion

ProMotion suporta quatro modos: 24 Hz para conteúdo estático e vídeo a 24fps, 30 Hz para vídeo a 30fps, 60 Hz para navegação de UI e 120 Hz para rolagem e jogos. A alternância entre modos ocorre dentro de um único quadro (8.3 ms) e é imperceptível para o usuário. Os desenvolvedores podem influenciar a seleção de frequência via preferredFrameRateRange no CADisplayLink, mas a decisão final é tomada pelo sistema com base na análise do conteúdo.

API para desenvolvedores

A Apple fornece APIs para trabalhar com ProMotion a partir do iOS 15. O CADisplayLink.preferredFrameRateRange permite definir uma faixa de frequência preferida. UIScene.ActivationConditions pode afetar a frequência ao fazer transição entre cenas. Para renderização Metal, o CAMetalLayer.displaySyncEnabled deve ser true para sincronização com ProMotion. Se um aplicativo não for otimizado para 120fps, o iOS automaticamente o comuta para 60 Hz, o que pode ser visto no Xcode na seção GPU Report.

swift
// iOS — solicitar 120fps para modo de jogo
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)

Otimização para 120fps

Otimização para 120fps não se trata apenas de dobrar a velocidade do código, mas de repensar a arquitetura de renderização. Operações que cabiam em 16.7 ms a 60fps agora devem ser concluídas em 8.3 ms. Isso afeta todos os estágios do pipeline: preparação da CPU, renderização da GPU e chamadas de sistema.

Redução de draw calls para 120fps

A 120fps, o número de draw calls por quadro deve ser metade do que a 60fps para manter a mesma carga da GPU. Se 400 draw calls são aceitáveis a 60fps, então a 120fps não são permitidos mais de 200. Use texture atlases, fusão de malhas e instanciamento de GPU para reduzir as chamadas de desenho. No Metal, use Indirect Command Buffers; no Vulkan, use Secondary Command Buffers para gravação paralela de comandos.

Shaders — outro fator crítico. Shaders de pixel complexos com múltiplas amostragens de textura e operações matemáticas podem facilmente exceder o orçamento de 8.3 ms. Use shaders de baixa precisão (half em vez de float), reduza o número de instruções e amostras de textura. Em GPUs móveis (Apple A17, Snapdragon 8 Gen 3), cada amostragem de textura leva 2–4 ciclos, e a 120fps isso pode se tornar um gargalo.

CPU e Main Thread

A 120fps, a thread principal deve preparar um quadro em 4–5 ms para deixar tempo para a renderização da GPU. Qualquer operação síncrona na thread principal — leitura de banco de dados, análise JSON, carregamento de imagens — cria engasgos. Mova todas as operações pesadas para threads secundárias, use APIs assíncronas e pools de threads. No iOS, a DispatchQueue com qualityOfService .userInteractive deve ser reservada apenas para código crítico de renderização.

ComponenteOrçamento 120fpsOrçamento 60fps
CPU (thread principal)4 ms8 ms
Renderização GPU4 ms8 ms
Composição0.3 ms0.7 ms
Espera VSync0–2 ms0–5 ms

120fps vs 60fps

Comparar 120fps e 60fps não se resume a dobrar a suavidade. A diferença é percebida de forma diferente dependendo do tipo de conteúdo. Para rolagem e animações de UI, 120fps fornece uma interface subjetivamente mais “responsive”. Para jogos, a vantagem de 120fps se manifesta em menor desfoque de movimento e rastreamento mais preciso de objetos rápidos.

Consumo de energia — o principal compromisso. 120fps consome 30–50% mais energia do que 60fps no mesmo brilho de tela. Isso significa que em uma bateria de 4000 mAh, uma hora de jogo a 120fps drena a bateria cerca de 25–30% mais rápido. As telas LTPO resolvem parcialmente o problema reduzindo a frequência em cenas estáticas para 1 Hz, mas durante o uso ativo (rolagem, jogos) a frequência permanece no máximo.

A escolha entre 60fps e 120fps depende das prioridades do desenvolvedor. Para redes sociais, mensageiros e aplicativos de notícias, 120fps não oferece vantagem significativa — a interação principal (leitura, entrada de texto) não se beneficia da ultra-suavidade. Para jogos, mapas, editores gráficos e aplicativos com animação intensiva, 120fps torna-se uma vantagem competitiva e um marcador de qualidade.

Testar 120fps requer uma abordagem especial: as métricas padrão de 60fps não revelam problemas de frame pacing a 120 Hz. Use uma câmera de alta velocidade (120+ fps) para gravar o comportamento real da tela ou ferramentas integradas da plataforma — Xcode Metal Capture para iOS e AGI (Android GPU Inspector) para Android. Essas ferramentas mostram o tempo exato de cada quadro, incluindo a espera VSync, e ajudam a identificar micro-engasgos.

Perguntas frequentes

120fps é sempre melhor que 60fps?

Nem sempre. 120fps exige o dobro de energia e recursos computacionais. Para conteúdo estático e UIs simples, 60fps é suficiente. A vantagem de 120fps é perceptível em cenas dinâmicas: rolagem, jogos, animações de transição.

Como verificar se um aplicativo está rodando a 120fps?

Use Xcode Instruments (template Core Animation) ou Android Studio Profiler. No iOS, verifique CADisplayLink.timestamp — o intervalo entre chamadas deve ser de aproximadamente 8.3 ms. No Android, ative Show refresh rate nas Developer Options.

Por que 120fps drena a bateria mais rápido?

A tela atualiza os pixels com o dobro da frequência, a GPU realiza o dobro de operações de renderização e a CPU processa o dobro de quadros. Cada operação consome energia. As telas LTPO reduzem a frequência em repouso, mas durante o uso ativo, o consumo de energia aumenta proporcionalmente à frequência.

Um aplicativo pode rodar a 120fps no Android?

Sim. A partir do Android 11, o sistema suporta diferentes taxas de atualização. Os desenvolvedores podem solicitar 120 Hz via WindowManager.setPreferredRefreshRate. No entanto, nem todos os dispositivos mantêm 120fps estáveis — é necessária otimização de renderização da GPU.

Um usuário comum notará a diferença entre 60 e 120fps?

Em um teste cego, a maioria dos usuários nota a diferença durante rolagem e animações. No entanto, para uso diário (redes sociais, vídeo, mensageiros), a diferença é subjetivamente pequena. Após se acostumar com 120 Hz, retornar a 60 Hz parece lento.

Resumo

  • 120fps — taxa de quadros com orçamento de 8.3 ms para animação ultra-suave
  • ProMotion — tecnologia adaptativa da Apple com faixa de 24–120 Hz
  • Telas LTPO mudam dinamicamente a frequência de 1 a 120 Hz para economizar energia
  • Frame pacing é crítico a 120fps — irregularidade de 2–3 ms já é perceptível
  • Draw calls a 120fps não devem exceder 200 por quadro
  • Consumo de energia a 120fps é 30–50% maior que a 60fps
  • Escolher 120fps é justificado para jogos, mapas e aplicativos com animação intensiva

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também