No todo es procesador: Así mejoran los fabricantes el rendimiento en un móvil
El procesador, o mejor, el SoC, como un Snapdragon 845, llama mucho a la gente que busca móvil; pero hay más cosas que influyen en el rendimiento.
1 abril, 2018 20:00Vemos muchos móviles con el mismo procesador en su interior, incluso móviles baratos con el mismo procesador que uno caro. ¿Dan el mismo rendimiento? No y te explicamos por qué.
Es común dejarse llevar por los números y las hojas de especificaciones a la hora de escoger un móvil nuevo. Algunos se fijan más en la pantalla, para ver contenido multimedia; otros lo hacen en la cámara, para poder sacar buenas fotografías de sus escapadas. ¿Pero y la potencia?
SoC o System on a Chip, los «procesadores» móviles
En verdad cada vez que hablamos del procesador de un móvil, tablet, reloj u otro dispositivo electrónico de hoy en día nos confundimos. Los tan vistos Snapdragon, Exynos, Kirin… son SoCs. Sus siglas en inglés significan «Sistema en un Chip», que es lo que son.
Los SoC no solo incorporan un procesador, con sus distinto número de núcleos y frecuencia de trabajo. También incluyen otras partes como un módem de conexiones, un procesador de gráficos (GPU), un procesador de imágenes (ISP), un procesador de bajo consumo dedicado a sensores (DSP) o incluso un procesador para redes neuronales (NPU).
Aunque comúnmente nos referimos a todo ello como CPU o procesador, pero no hay que dejarse engañar por todas las partes menos conocidas que influyen en otros aspectos del móvil como las conexiones, o incluso el resultado fotográfico.
Mismo SoC, ¿mismo rendimiento?
Entonces, si un SoC se encarga de tantas cosas, ¿dos móviles con el mismo funcionarán igual? No, podrían hacerlo porque tienen el medio para ello, pero otros componentes de menor calidad o el propio software acaban lastrando lo que aporta el SoC.
Por ello vamos a repasar los factores más importantes que pueden marcar la diferencia en dos móviles con idéntico SoC.
Memoria RAM: «Trabaja, yo te guardo las cosas»
Algo sencillo, una calculadora. Puedes pedirle cuentas sin problema, pero para cosas complejas se ahorra o incluso se vuelve imprescindible guardar los resultados; por ello tienen una memoria. Los procesadores también necesitan de una memoria para guardar cosas, la caché.
La memoria caché es una memoria integrada en el procesador pero muy rápida. Al estar integrada el camino que recorren los datos es mínimo, pudiéndose leer y guardar más rápidamente. La caché del procesador (que no tiene nada que ver con la caché de datos de aplicaciones, esa es parte del almacenamiento principal), se encarga de guardar datos que el procesador va a necesitar más tarde o que cree que va a necesitar para hacerle perder el menor tiempo posible.
El problema es que no es ilimitada ni expansible. Solemos hablar en orden de kilobytes o unos pocos de megabytes para la caché de último nivel, la más alejada del procesador. Tu móvil puede calcular todo lo necesario para mostrarte y hacer funcionar, por ejemplo, Whatsapp, pero todos esos cálculos se perderán en el tiempo, como lágrimas en la lluvia.
¡Hay que guardarlos! Pero la memoria más grande es demasiado lenta para pedirle esta información varias veces por segundo y la caché es muy pequeña. La memoria RAM es la solución para guardar datos que se están utilizando. El procesador usará su caché para lo más importante, sus tareas internas, pero usará la memoria RAM para cosas más pesadas y externas como el sistema operativo.
Por ello, en dos móviles con el mismo SoC, el que tenga menos memoria RAM irá más lento. Al no tener tanto espacio para guardar cosas, habrá más cosas que ya ha calculado pero tendrá que calcular de nuevo porque se borraron de la memoria. Se nota sobretodo al mantener aplicaciones o servicios en segundo plano.
Mucho espacio, pero demasiado lento
Derivado de la memoria RAM surge otro punto de diferencia en el rendimiento. No todas las memorias son iguales puesto que algunas memoras RAM son más lentas que otras. A lo largo del tiempo las memorias han evolucionando pasando por distintos tipos como DDR3, DDR4 o DDR4X. Cada nuevo tipo mejora en rendimiento y consumo, pero lo que más nos interesa son sus velocidades.
Imagina que quiere abrir una aplicación que requiere calcular 100 operaciones (un número cualquiera de ejemplo) y tu procesador es capaz de calcularlas en 1 segundo. Lo conseguirá si la memoria donde va a guardar esas operaciones es capaz de almacenar al mismo ritmo los resultados. Si no puede, el procesador tendrá que esperar a que se escriba un resultado para calcular el siguiente. Por eso un móvil con misma capacidad de RAM que otro pero menor velocidad de ésta irá más lento. Se produce un cuello de botella.
Qué decir, después de explicar como funciona la memoria RAM, que «limpiarla» o vaciarla solo fuerza al procesador a trabajar más repitiendo cálculos ralentizando el rendimiento general y aumentando el consumo de batería.
Almacenamiento interno: «Por favor, no tan rápido»
Y de un cuello de botella pasamos a otro estrechamente relacionado. Tener mucha capacidad de almacenamiento interno no interfiere en el rendimiento, pero si su velocidad. Como el disco duro de un ordenador, el almacenamiento interno se encarga de guardar las cosas más grandes o que no harán falta a corto plazo. Desde los datos de una aplicación instalada hasta el GIF de gatitos tan gracioso que has visto.
De nuevo tenemos el mismo cuello de botella que con la memoria RAM. Puede estar el SoC a plena potencia pero si la memoria principal del dispositivo, el almacenamiento interno, aunque sea de 512 GB, es lenta, tendrá que esperar. Por ejemplo al descargar una película, el módem del SoC obtendrá los datos pero tendrá que parar porque se le acumulan. También al instalar una aplicación, donde el procesador realizaría los cálculos necesarios pero se acumularían. O al abrir una aplicación, donde se tendrán que mover a la memoria RAM muchos datos para que los use rápidamente el SoC.
Así que, si dos móviles con el mismo SoC tienen distinta velocidad en el almacenamiento interno, el más rápido será el mejor. Destacamos dos tipos de almacenamiento que rivalizan actualmente en los móviles: eMMC 5.1 y eUFS 2.1. Actualmente es UFS 2.1 el que menos consume y mejor rendimiento otorga. Pronto podríamos empezar a ver móviles con eUFS 3.0.
Software: «Olvida al usuario, yo te doy trabajo»
Pero aún teniendo dos móviles, con la misma memoria, tanto RAM como de almacenamiento interno y el mismo SoC, uno podría ir mucho más lento que el otro. La razón reside en el software y por distintas causas.
Optimización del sistema operativo
El sistema operativo es la base sobre la que funciona todo en un dispositivo moderno como nuestros ordenadores o móviles. Existen sistemas más ligeros y otros más pesados pero no siempre debido a lo mismo. Lo completo y la cantidad de funciones que proporciona al usuario un sistema operativo lo vuelve más pesado, pero a la vez, la forma de la que está montado el sistema desde su base, define si es más pesado o no.
Ofreciendo exactamente los mismos servicios al usuario, dos sistemas operativos, pueden rendir diferente sobre el mismo SoC. Ya sea por la manera por la cual se ofrecen los dichos servicios, por la calidad en su desarrollo o por el lenguaje utilizado. Aquí podríamos entrar en la eterna batalla entre Android y iOS.
En Android además, se une un importante factor: las capas de los fabricantes. A través de las capas, un fabricante añade más funciones y servicios en segundo plano que afectan al rendimiento. Porque aunque un SoC sea el mismo, hará más operaciones útiles para el usuario en un móvil con menos trabajo por parte del sistema.
Limitaciones sobre el SoC
Al igual que los fabricantes, a través de su capa, pueden sobrecargar al procesador con tareas que quizá nunca sean útiles al usuario, también pueden afectar al rendimiento más directamente. Un fabricante puede limitar la potencia de un SoC a su medida. Y quizá te preguntes, ¿quién se va a gastar el dinero en un procesador y luego lo va a limitar?
Pues se hace por distintas razones. Por un lado, el gasto que supone tener un SoC completo como los de gama alta. Si diseñas un dispositivo con poca batería y un procesador potente es posible que te veas obligado a desactivar funciones que, en otro móvil sin ese problema, estén activadas y hagan que rinda mejor.
Es solo un ejemplo y hay otros que hemos visto en móviles que han salido a la venta. El SoC Qualcomm Snapdragon 810 fue lanzado con problemas de sobrecalentamiento, obligando a los fabricantes que quisieran usarlo a disminuir su potencia. Y más recientemente, el SoC Exynos 9810 del Samsung Galaxy S9 es capaz de alcanzar en cuatro de sus núcleos una frecuencia de 2.9 GHz, pero se ha disminuido a 2.7 GHz para igualarlo al Galaxy S9 con un Snapdragon 845.
Usuario: «Es mio y lo uso como quiero»
Quizá el factor más abstracto e imposible de predecir: el usuario del dispositivo. Puede darse el caso que dos móviles exactamente iguales, en manos de dos usuarios diferentes, tengan distinto rendimiento. Todo causado por la forma de usar el móvil por cada usuario.
Una persona podría tener instaladas muchas aplicaciones de monitoreo o que trabajen en segundo plano, lastrando el rendimiento del resto de aplicaciones. También se le podría añadir toda la morralla de aplicaciones de «limpieza» o antivirus que trabajan en segundo plano ralentizando el móvil. E incluso si instala aplicaciones de fuentes de dudosa fiabilidad podría tener malware en segundo plano mientras usa las aplicaciones que ha descargado de allí.
Por otra parte, otra persona podría usar aplicaciones bien optimizadas, cuidar las aplicaciones y no creerse más listo que el sistema operativo en las limpiezas de memoria o caché de aplicaciones. A este último claramente le irá mucho mejor el mismo móvil que al primero descrito.
El sistema operativo es el que tiene que evitar esta diferencia, evitando que muchos servicios se acumulen en el segundo plano, que algunas aplicaciones estén fatal creadas o que contengan malware. Un aspecto en lo que Android trabaja con cada nueva versión.
Marketing para dar gato por liebre
Al final todos queremos gastar cuanto menos mejor, ¿o no? Uno de los aspectos más ligados a la calidad es el SoC, tanto como para no considerar gama alta a aquellos que lleven un Qualcomm Snapdragon 845 o similar en Kirin o Exynos. O también tachando como mala calidad a móviles con un procesador más reducido como un Qualcomm Snapdragon 445.
El SoC no lo es todo en un móvil, pero hablando de solo potencia, incluso el mismo SoC se ve muy influido por el resto de componentes. Es muy fácil para los fabricantes colocar en grande, en un móvil de 200€, el nombre del SoC más completo del año, con el objetivo de captar clientes. Luego es cuando estos se dan cuenta de que para nada funciona como un gama alta… ¿o no se dan cuenta?
Porque es difícil, para un usuario medio, darse cuenta que un móvil no va rápido (contando los modelos disponibles en España), dado que, generalmente, todos los móviles van rápidos. ¿En que te fijas? ¿En que una aplicación ha tardado 0.2 segundos más en abrirse? ¿Le va a importar eso a alguien que solo entra en Whatsapp, Instagram y Chrome? Hasta un móvil de 200€ con una capa no muy exigente funciona de perlas hoy en día.
¿A quien le importa la diferencia de 0.2 segundos al abrir una aplicación? Al usuario medio no.
Las tareas de más alto rendimiento, como juegos o aplicaciones de edición son las que más requieren, pero dado el número de usuarios Android con móviles con móviles de gama baja y media, estas casi ni existen. Los desarrolladores saben que si quieren triunfar con su aplicación tienen que adaptarla a los dispositivos con menos potencia.
Esto provoca que la mayoría de aplicaciones vayan perfectamente en móviles baratos, pero retrasa el lanzamiento de aplicaciones potentes que, por ejemplo, hicieran a Android ser un sustituto de un ordenador, aunque la potencia se iguale algún día en la gama alta.