El que fue presidente de la División Windows de Microsoft entre 2009 y 2012, Steven Sinofsky, dio recientemente una interesante explicación del porqué el software antiguo de Windows era mucho más rápido que el actual. Si bien todas las miradas actualmente se ciernen sobre lo lento que se han hecho las apps y componentes de Windows 11, este hecho se viene suscitando desde la era de Windows XP.

Antes la cultura de Microsoft sobre los desarrolladores de Windows impedía que las Apps y componentes fuesen lentos
La primera causa que señaló Sinofsky, la cual provocó que al software desarrollado por Microsoft a partir del 2000 se le dificultase seguir el ritmo del software antiguo, fue el cambio de cultura que hubo en los desarrolladores de la compañía. Resulta que, antes de la llegada de Windows XP, la compañía aplicaba una cultura de presión sobre los desarrolladores bastante peculiar. Y es que, entre la década de 1980 y 2000, se le entregaba un cronómetro físico a cada desarrollador a fin de que priorizaran la gestión de recursos en cada funcionalidad nueva en que se trabajaba.
Los tiempos que se medían abarcaban prácticamente todo: la velocidad de desplazamiento, el arranque, la ejecución, el tiempo que duraba para guardar cambios, los tiempos de compilación y la impresión. También destaca el hecho de que los ordenadores donde trabajaban los desarrolladores tenían hardware limitado, por lo que el tamaño de la aplicación o componente de Windows también debía priorizarse. «Entre la década de 1980 y 2000, la mitad del trabajo del desarrollo de software consistía en gestionar el uso de recursos (tiempo de reloj, disco y RAM). Durante esas décadas, cada ingeniero de Microsoft tenía un cronómetro físico. Había montones de cronómetros adicionales en el almacén. Es difícil expresar la cantidad de esfuerzo que esto implicaba. Todos tenemos anécdotas al respecto.
En cuanto a los tiempos que manejábamos, los desarrolladores abarcábamos prácticamente todos los procesos: Velocidad de desplazamiento. Arranque. Salida. Guardar. Compilación. Imprimir. También el tamaño se priorizaba, pues cada desarrollador contaba con un ordenador limitado en hardware. Por ello, el software antiguo de Windows era increíblemente rápido, pues cada byte y cada ciclo de CPU contaban.» Indicó Sinofsky.
La nueva era del hardware potente y el cambio de cultura en Microsoft
A partir de la década del 2000, el hardware comenzó a ser mucho más rápido y más accesible, por lo que la presión de los usuarios en cuanto a optimización de apps y componentes fue bajando progresivamente. Esto también influyó en la cultura de Microsoft sobre los desarrolladores, pues se dejó de cronometrar los tiempos de medición y los desarrolladores comenzaron a contar con equipos más potentes. Todo ello llevó a la compañía a priorizar el lanzamiento de nuevas características por sobre la optimización, ya que resultó ser más rentable.
De esta manera, se llegó al punto de que a los usuarios que critican el rendimiento de una aplicación o componente de Windows, la respuesta de Microsoft se resume simplemente en «Pon más memoria RAM en tu PC». De hecho, hace poco, los de Redmond recomendaban instalar 32 GB de RAM en los PC para jugar y trabajar sin preocupaciones de rendimiento en Windows 11. Esto hizo enojar aún más a los usuarios del SO, por lo que la compañía se vio forzada a eliminar la publicación donde recomendaban el aumento de RAM.
Sinofsky asegura que ese cambio de cultura en Microsoft fue el principal culpable de la actual era de las apps web como Electron y React, lo que hace más lento aún a Windows 11. Por ello, ya tener 16 GB de RAM para correr Windows 11 resulta insuficiente en muchas áreas.
El proyecto k2 y el auge de MacOS y Linux como posibles salvavidas para abordar el problema de lentitud de Windows 11
Actualmente, muchas aplicaciones para Windows (incluyendo propias del SO) se basan en PWA (aplicaciones web progresivas). Así tenemos, por ejemplo, las aplicaciones de Netflix y WhatsApp, las cuales antes funcionaban con Frameworks nativos para Windows 11, pero luego migraron a versiones basadas en web, siguiendo el ejemplo de la misma Microsoft. Otro ejemplo claro de esta situación es que en la tienda de Windows 11 pululan abismalmente apps basadas en webs.
No debemos olvidar que, con el auge de la IA, se han ido incluyendo características de esta tecnología en esas apps basadas en web, lo que las hace aún más pesadas. Esto obviamente hizo que Windows 11 se sintiese lento, lo que provocó migraciones de usuarios hacia MacOS y Linux. Estas plataformas, al utilizar sus propios Frameworks, hacen que sus aplicaciones y componentes funcionen más rápido y fluido, lo que desestima el argumento de Microsoft de que aumentando la RAM se mejora el rendimiento. De hecho, en muchas distribuciones Linux y en versiones de MacOS, un ordenador con 8 GB de RAM trabaja de forma eficiente.
Este auge que experimenta MacOS con el Macbook Neo y Linux en el gaming ha forzado a Microsoft a retomar parte de su cultura original. Bajo el nuevo proyecto K2, los de Redmond se han comprometido a desarrollar y reescribir sus aplicaciones y componentes de forma nativa, usando WinUI 3 y .NET 10. Estos cambios, por cierto, no solamente se están haciendo a nivel de escritorio, sino también a nivel del kernel mismo.
Microsoft busca cerrar la actual era del consumo excesivo de RAM
Resulta interesante ver este cambio que está llevando a cabo Microsoft, luego de una era donde la prioridad era meter IA a lo loco, impulsar las apps basadas en web y desarrollar nuevas características sin medir la eficiencia. Si bien no se prevé el retorno de dar un cronómetro a cada desarrollador, sí se puede vislumbrar un mejor abordaje en cuanto a lo lento que se ha hecho Windows.
Además, con el hardware actual, Microsoft puede sacar mucho provecho sin andar «recomendando» aumentar la capacidad de RAM o de la CPU. Podemos citar el nuevo Perfil de Baja Latencia, el cual se está desarrollando. Esta nueva característica aprovecha las capacidades de velocidad variable que tienen actualmente las CPU para elevar por unos milisegundos la frecuencia de reloj en el momento exacto en que un usuario hace clic en el botón de inicio o en el explorador de archivos. Esto no tiene un impacto sustancial en el rendimiento de la CPU y elimina la latencia en la experiencia de interfaz que tanto ha frustrado a los usuarios de Windows.
Esperemos, pues, que el proyecto K2 de Microsoft siga viento en popa y no quede a medio implementar, tal como ha sucedido en otros planes de la compañía.
