Construir un buscador con mayor eficiencia energética
Por: Brandon Heenan, Gerente de Programa de Microsoft Edge. Jason Weber compartió un texto en el blog Windows Experience en el que demostró el poder de la eficiencia de Microsoft Edge sobre los otros buscadores populares en Windows 10. Con Windows 10 Anniversary Update, trabajamos muy duro para poner más alto el estándar, a través de ingeniería en Microsoft Edge para que dure más con cargas típicas de trabajo. En este texto, compartiremos nuestro enfoque a los problemas complejos acerca de la vida de la batería y el consumo de energía, y discutir algunos trabajos específicos que hemos hecho para mejorar la eficiencia energética de Microsoft Edge en el Windows 10 Anniversary Update.
¿Cómo medimos la eficiencia de energía?
Mejorar la eficiencia energética comienza en un laboratorio de ambiente controlado, donde podemos realizar varias pruebas. En Microsoft, tenemos un laboratorio diseñado en específico para medir el consumo de energía, donde probamos los nuevos diseños de Windows 10 y Microsoft Edge. Esto nos permite ver la manera en la que se desempeñan frente a diferentes cargas de trabajo y con diferentes PC.
Medimos el poder de consumo a través de un diverso conjunto de hardware Windows, en equipos de escritorio, laptops, tabletas, teléfonos y otros más. Las arquitecturas de proceso, el tamaño de las pantallas, e incluso las características físicas como la disipación de calor y los ventiladores mecánicos pueden tener un impacto significativo en el consumo de energía. Es importante mejorar de manera amplia para todos, la eficiencia energética. Máquinas como la Surface Pro 3 de aquí abajo están conectadas a monitores especializados de energía, los cuales miden el consumo instantáneo de energía bajo los milliwatts. Mientras probamos diferentes cargas de trabajo a través de estas máquinas, medimos de manera exacta la cantidad de energía que consumen.
También grabamos información de diagnóstico detallada a través de Windows Event Tracing, el cual nos permite entender lo que sucede en el software y correlacionarlo con la energía consumida por la máquina, en especial Microsoft Edge y los sitios web HTML, CSS y JavaScript. El laboratorio provee resultados repetitivos y accionables de manera inmediata dentro de un ambiente controlado. Esto nos permite validar las mejoras, identificar regresiones y asegurar que Windows y Microsoft Edge mejoran de manera continua con cada cambio de código.
Informar el poder de la eficiencia a través de la telemetría del cliente
Nuestro objetivo es mejorar la eficiencia para los usuarios y es importante entender lo que sucede en el mundo real. El Energy Estimation Engine (Motor de Estimación de Energía o E3) de Microsoft, es un servicio que funciona en todos los dispositivos Windows 10 impulsados por baterías, el cual rastrea el consumo de energía a través de hardware, aplicaciones y servicios. El servicio de E3 brinda a los usuarios mayor control sobre la vida de la batería, tras informar varias recomendaciones para ahorrar batería y los resultados agregados son utilizados por Microsoft gracias a los sistemas de telemetría de Windows para mejorar el ecosistema de Windows.
Muchas computadoras Windows modernas, tales como la familia Surface, incluyen hardware especializado que está diseñado para medir el consumo de energía. Esta medición especializada de hardware ofreced una precisión del 98%, en comparación a la medición e energía de software del sistema, la cual tiene un 85 por ciento de precisión, y la medición de energía de software de aplicación, la cual tiene la mínima correlación al consumo de energía actual.
Algunos de los puntos clave más importantes que surgieron de los datos agregados desde millones de dispositivos de Windows, reporta miles de millones de puntos de datos alrededor de la eficiencia energética de Microsoft Edge en una base mensual. En particular, nosotros ponemos atención a la telemetría que viene por parte de los sistemas con medición especializada de hardware, no se puede derrotar a un 98 por ciento de precisión.
¿Alguna vez se han preguntado cuántos Joules de energía se gastan en las colecciones de basura de JavaScript todos los días? Estas son preguntas multifacéticas que nosotros consideramos mientras optimizamos Microsoft Edge para su desempeño, energía, memoria y mucho más. Con este nivel de datos, las compensaciones alrededor de la energía se vuelven claras e intencionales.
Con cada vuelo de Windows Insider, comparamos nuestro consumo de energía con los vuelos pasados y versiones lanzadas de Windows. Utilizamos esta telemetría para asegurar que las nuevas funciones y cambios de código no incrementen nuestro consumo de energía y validar nuevas características diseñadas para mejorar la eficiencia energética. ¡Gracias al Programa Windows Insider, podemos validar nuestra ingeniería y asegurar que Microsoft Edge sólo se vuelve mejor con cada lanzamiento!
Mejoras en la eficiencia energética en Windows 10 Anniversary Update
Windows 10 Anniversary Update trae docenas de mejoras para impulsar la eficiencia, informadas a partir de análisis de la telemetría de los clientes y de los experimentos en nuestros laboratorios controlados. Estas mejoras están integradas en Microsoft Edge, para que no tengan que cambiar los ajustes o activar el modo de ahorro de energía, cada usuario de Microsoft Edge recibirá esto sin arriesgar su experiencia.
A continuación, cuatro ejemplos que brindan un vistazo al tipo de optimizaciones de energía que se integran.
1. Las pestañas en el fondo son más eficientes
Los sitios web corren JavaScript en el fondo de manera frecuente, incluso una vez que ya están cargados por completo y no son visibles para el usuario. Estos sitios tal vez revisen en búsqueda de nuevos correos, analicen métricas de anuncios, corran animaciones, o cualquier cosa, la web es un lugar muy diverso. Así que, cuando un usuario tiene muchas pestañas abiertas al mismo tiempo en el fondo, estas tareas se suman y causan que el CPU trabaje más de lo necesario. Esto provoca que la computadora sea más lenta y consuma vida innecesaria de la batería. Hemos escuchado comentarios por parte de nuestros Insiders, que nos dicen que a veces Microsoft Edge utiliza más CPU de lo esperado y las pestañas del fondo son la causa más frecuente.
Con Anniversary Update, Microsoft Edge solo ejecuta los temporizadores de JavaScript en el fondo cada segundo en las pestañas del fondo, Lo más importante, estos temporizadores están incorporados con otros trabajos que suceden a lo largo de Windows. Microsoft Edge no despierta al hardware para que ejecute trabajo. En lugar de eso, hacemos equipo con otros trabajos a través del sistema y después, de manera rápida, entregamos para permitir que el hardware entre a un estado de baja energía.
Los ahorros pueden variar según los sitios web que ustedes abrieron, pero hemos visto ahorros de energía del 90 por ciento en algunos escenarios.
Este balance permite que sus tablas del fondo mantengan las conexiones con los servidores abiertos, revisen los correos, reproduzcan música, corran análisis y lo que sea que ellos necesiten hacer, además de hacer que su sistema sea más rápido mientras ahorra vida de su batería.
Los ahorros pueden variar según los sitios web que tengan abiertos, pero hemos visto ahorros de energía de más del 90 por ciento en algunos escenarios. Como ejemplo, las siguientes tablas muestran las mejoras del CPU con ocho sitios web populares abiertos en pestañas en el fondo. [FOTO] La utilización del CPU con ocho sitios web populares abiertos en pestañas de fondo.
2. Flash es más eficiente
Los anuncios Flash son comunes en Internet y pueden tener un mayor costo de batería, de manera principal a través de continuas animaciones las cuales consumen recursos de CPU, GPU y de pantalla. En Anniversary Update, Flash ahora corre dentro un proceso separado y controles que no son centrales para la página, se pausan por defecto. Los usuarios que quieren interactuar con Flash sólo necesitan dar clic en el control.
Y dado que Flash ahora corre en un proceso separado, podemos monitorear y controlar el impacto en recursos de Flash. Cuando el programa consumo muchos recursos o se colapsa, podemos detener el proceso sin generar un impacto en el sitio web.
3. La interfaz de usuario de Microsoft Edge es más eficiente
La interfaz de usuario de Microsoft Edge ha sido optimizada para la eficiencia energética. Las animaciones son una parte importante de Windows 10 y del diseño de lenguaje de Microsoft Edge, sin embargo, pueden consumir energía considerable si ejecutan más trabajos de los necesarios.
Por ejemplo, la animación del botón de modo de lectura ha sido rediseñado para la eficiencia de energía.
El botón para el modo de lectura estaba compuesto de manera previa por 120 cuadros. Cada vez que actualizábamos el cuadro, causábamos una costosa actualización visual y de diseño XAML. Aquí podemos ver el costo de GPU para una de las animaciones.
Hemos mejorado esto de varias maneras:
- La animación tiene cuadros idénticos al principio y al final de cada bucle, así que los cuadros de procesamiento no siempre resultan en cambios visibles. Optimizar esto, removió el 40 por ciento de los cuadros.
- Reemplazamos la animación tradicional en XAML, con una transformación cronometrada de GPU y ahora animamos los contenidos a través de una ventana, que sea poya en su totalidad en el desempeño del GPU al ejecutar su trabajo.
- Este emparejamiento con otras optimizaciones ha reducido el costo de GPU casi un 75 por ciento, un 100 por ciento en el costo de CPU, y se redujo el impacto de energía a casi cero.
Aquí está el costo de GPU de esta animación con Anniversary Update:
¡Eso se ve mucho mejor! Aplicamos este nivel de optimización a través de nuestra interfaz de usuario, porque cada milliwatt cuenta.
4. La interconexión de Windows es más eficiente
Microsoft Edge construye sobre la plataforma Windows y se beneficia por parte de las optimizaciones de energía a través de Windows. Windows 10 Anniversary Update entrega una gama de mejoras en la interconexión, lo que mejora el desempeño y eficiencia, mientras se reduce el consumo de energía.
La nueva función TCP Fast Open (TFO), permite conexiones entre el dispositivo y el servidor para ser configurado de manera más rápida y con pocos mensajes. Además, el conjunto TCP ahora incluye una Initial Congestion Window (ICW) optimizada con un espacio de mensajes más grande, lo que significa que menos mensajes tendrán que ser intercambiados con el servidor. Menos mensajes significan que la antena de Wi-Fi puede apagarse más pronto y ahorrar energía.
También hemos agregado funciones llamadas Tail Loss Probe (TLP) y Recent Acknowledgement (RACK) las cuales reducen el tiempo requerido para corregir los paquetes perdidos. Si parece que a un mensaje se le va a acabar el tiempo, enviamos una solicitud para recuperar los datos más pronto, que en el tiempo fuera normal. Hacer esto nos permite apagar la antena WiFi más rápido cuando tienen una mala conexión.
¿Qué sigue?
¿Ya terminamos? ¡Claro que no! cuando se trata de eficiencia energética, el trabajo nunca termina, y podrán continuar viendo este nivel de inversión en los próximos lanzamientos. Pueden ver esto de manera previa en el programa Windows Insider. Esperamos poder brindarles estas características a todos con Windows 10 Anniversary Update este verano.