El error arquitectónico que mantiene vivos los ventiladores de tu laptop ⚠️
Seguro te ha pasado: tienes tres pestañas de apps "modernas" abiertas, no estás tocando nada, y aun así el CPU marca un 2% o 3% de uso constante. Parece insignificante, pero multiplicado por 20 pestañas, es la razón por
Artículo
Una lectura sobre tecnología y sistemas digitales, escrita para ir al punto y dejar claras las ideas principales.
Tema principal
arquitectura de software
Fuente
dev.to
Puntos clave
- Seguro te ha pasado: tienes tres pestañas de apps "modernas" abiertas, no estás tocando nada, y aun así el CPU marca un 2% o 3% de uso constante.
- Parece insignificante, pero multiplicado por 20 pestañas, es la razón por la que tu computadora suena como un avión despegando sin que estés ejecutando procesos pesados.
- El problema no es el navegador, es una decisión de arquitectura: el "impuesto al idle".
- Tras analizar apps como Figma, tldraw y Excalidraw, el insight es claro: el costo de CPU en reposo es una elección de diseño, no una limitación técnica.
Bloque 1
Seguro te ha pasado: tienes tres pestañas de apps "modernas" abiertas, no estás tocando nada, y aun así el CPU marca un 2% o 3% de uso constante.
Parece insignificante, pero multiplicado por 20 pestañas, es la razón por la que tu computadora suena como un avión despegando sin que estés ejecutando procesos pesados.
Bloque 2
El problema no es el navegador, es una decisión de arquitectura: el "impuesto al idle".
Tras analizar apps como Figma, tldraw y Excalidraw, el insight es claro: el costo de CPU en reposo es una elección de diseño, no una limitación técnica.
Bloque 3
Aquí los culpables técnicos:
• Polleo constante: Implementar loops de requestAnimationFrame sin guards (como un TickManager) que ejecutan lógica cada 16ms aunque nada haya cambiado.
Bloque 4
• Reconciliadores reactivos: Depender del estado de React para interacciones triviales (hovers, punteros) que disparan el proceso de diffing y commit constantemente.
• Overhead de colaboración: El mantenimiento de Websockets, CRDTs y telemetría en tiempo real que mantiene la app "despierta" para sincronizar datos.
Bloque 5
• La alternativa: El renderizado basado en eventos. Desactivar el autostart del motor gráfico y ejecutar el update SOLO cuando un evento real del usuario muta el estado.
La gran lección es que usar librerías "gruesas" acelera el desarrollo porque ya resuelven la interacción (selección, hit-testing, snapping), pero a menudo te obligan a pagar este impuesto de rendimiento.
Bloque 6
Si tu workload es simple, owns your render loop. Si necesitas un simulador de partículas, acepta el tick.
¿Preferirían optimizar el CPU idle a costa de escribir miles de líneas de código manual para el sistema de interacción?