Los 120Hz han llegado al iPhone y, a pesar de que han llegado bastante tarde, han llegado mejor de lo que se esperaba. El panel ProMotion de los iPhone 13 Pro y 13 Pro Max es más eficiente a nivel energético, y esto se debe a cómo ha interpretado Apple la tasa de refresco adaptativa.
Vamos a explicarte por qué los 120Hz adaptativos del iPhone son mejores que los de Android, explicado en base a nuestras propias pruebas técnicas y gracias a la propia documentación en la que Google y Apple explican el funcionamiento de la tasa de refresco en sus respectivos sistemas operativos.
Los 120Hz del iPhone funcionan así
Tanto en Android como en iPhone se utilizan paneles de tipo LTPO, paneles más eficientes a nivel energético, ya que gestionan mejor las tasas de refresco adaptativas al prescindir de componentes internos. No obstante, al final es el software el encargado de dar las órdenes por lo que, aunque tanto en Android como en iOS se usen paneles LTPO con las mismas capacidades, no tienen por qué funcionar igual.
Empecemos hablando de cómo funcionan los 120Hz en iOS, información que puedes consultar en la documentación oficial de Apple. En el iPhone es el propio sistema operativo el que decide la tasa de refresco del panel. En concreto, funciona desde los 10Hz hasta los 120Hz, pudiendo moverse entre los siguientes valores:
120Hz (8ms)
80Hz (12ms)
60Hz (16ms)
48Hz (20ms)
40Hz (25ms)
30Hz (33ms)
24Hz (41ms)
20Hz (50ms)
16Hz (62ms)
15Hz (66ms)
12Hz (83ms)
10Hz (100ms)
Si te fijas en los valores, hay muchos y muy concretos, como 24, 30, 48 y demás. Esto permite al iPhone que, por ejemplo, pueda refrescar a 24Hz cuando vemos una película de Netflix a 24 FPS, con el consecuente ahorro energético que esto conlleva.
De hecho, para el panel ProMotion, los 60Hz están dentro de los valores más altos de tasa de refresco por lo que, si no hacemos uso intensivo de juegos, el panel se moverá durante la mayor parte del tiempo por debajo de esta cifra.
¿Qué se consigue cuando es el sistema el que decide? Que las aplicaciones no puedan cometer errores, y que no haya apps que renderizan a 120Hz, otras que no, otras que no puedan bajar de 60Hz y demás. Si iOS controla la tasa de refresco, siempre será variable entre 10 y 120Hz, independientemente de la app que usemos.
"Core Animation arbitra todas las animaciones que presenta en la pantalla y determina la frecuencia de actualización en cualquier momento en particular. Su aplicación puede proporcionar sugerencias a Core Animation sobre qué frecuencias de actualización prefiere la aplicación para sus animaciones." Apple.
Por parte de los desarrolladores, pueden indicar las preferencias de actualización para sus apps, pero esto no implica que el sistema vaya a refrescar a esa frecuencia. El sistema será quien decida y haga o no caso a dicha sugerencia.
Es tal la capacidad de decisión de ProMotion, que incluso analiza el scroll que estamos haciendo. Si hacemos un scroll muy rápido, suele usar el valor de 80Hz, si el scroll es más lento y vamos a notar más las animaciones, lo sube a 120Hz.
Así suelen funcionar los 120Hz en Android
En el caso de Google, como leemos en su documentación Android no tiene un sistema de tasa de refresco propio que controle el sistema, sino que se echa el balón al tejado de los desarrolladores. La única API que proporciona Google es para que los desarrolladores programen estos valores en sus apps, pero nada parte del sistema. Por defecto, si una aplicación no tiene programado frame rate, se escoge el frame rate que tenga programado el sistema, así que queda en manos del fabricante. Es por ello que, en la mayoría de los casos, la tasa de refresco la controlan las propias aplicaciones y, al haber tan pocos terminales con tasa adaptativa, casi todas ellas se mueven entre 60 y 120Hz.
En otras palabras, aunque tu Android adaptativo pueda moverse entre 10 y 120Hz, casi nunca bajará de 60 y 120Hz, porque las apps no se lo van a permitir. Además, en nuestras pruebas con un claro ejemplo de Android con refresco adaptativo, el S21 Ultra (refresca de 10 a 120Hz, como el iPhone), hemos comprobado que en Android los 120Hz se activan en cuanto tocamos el panel y que prácticamente ninguna app baja de 60Hz.
Es por esto que en Android los 120Hz gastan tanta batería ya que, por un lado, las apps no permiten que el sistema baje de 60Hz y, por otro, en cuanto tocamos el móvil se pone a 120Hz, no va adaptando distintas frecuencias según velocidad del scroll, pulsaciones y demás. A esto hay que sumarle que no hay ningún Android con tantos valores de Hz programados como el iPhone. Por ejemplo, estos son los valores de un S21 Ultra:
- 10Hz (solo en modo Always On Display)
- 48Hz
- 60Hz
- 96Hz
- 120Hz
Tan solo dos frecuencias por debajo de 60Hz (una de ellas no cuenta mucho, porque es para AOD). En otras palabras, cuatro frecuencias disponibles frente a las 12 del iPhone. Por ejemplo, si vemos una película de Netflix grabada a 24 FPS, el Samsung actualizaría a 48 FPS, mientras el iPhone se adaptaría a dichos 24 FPS, literalmente la mitad.
En otras palabras, actualmente la tasa de refresco en Android suele saltar entre A, B, C o D según el contenido mientras que, en iOS, el sistema se adapta prácticamente a la perfección a la tasa necesaria, ya que cuenta con un espectro mucho más alto y no deja estos deberes en manos de las apps. A esto hay que sumarle que la mayoría de teléfonos con refresco adaptativo aún no tienen paneles LTPO, por lo que simplemente saltan de 60 a 120Hz cuando los tocamos.
Los fabricantes pueden arreglar esto y hacer el trabajo de Google
Google ha descuidado el tema de la tasa de refresco adaptativa dejando el balón en manos de los fabricantes, aunque algunos se lo han tomado en serio. Un buen ejemplo es OPPO con su Find X3 Pro, que recibió una actualización para pasar de refrescar a un mínimo de 5Hz a 1Hz y que tiene programado el valor de 24Hz para películas.
Sigue estando algo lejos de Apple, ya que no tiene programados tantos valores, pero sin duda un gran salto respecto a rivales como Samsung. ¿Cómo se consigue esto? Haciendo que sea la propia capa de personalización la que tenga programados múltiples valores de refresco, algo muy similar a lo que ya hace Apple. Si tu capa tiene más valores y el sistema es el que lo controla, puedes hacer que la tasa de refresco no dependa de las apps.
En otras palabras, es técnicamente posible ponerse al nivel de ProMotion, ya que basta con hacer que sea la propia capa de personalización (sistema) la que controla el refresco en lugar de las apps, así como programar múltiples valores para que, incluso mientras hacemos distintos scroll (velocidad, frecuencia, desplazamiento), la tasa oscile, como en el iPhone.
Ver 47 comentarios