CSS Academy · Lección

Layout, paint y composite: el pipeline de renderizado

Comprenda el pipeline de layout, paint y composite del navegador para prever el coste de los cambios de estilo.

Lección 2 de 413 pasos

Layout, paint y composite: el pipeline de renderizado es una lección gratuita de CSS Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CSS Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CSS Academy incluye 4 lecciones en total.

Las tres etapas del renderizado

Después de crear el árbol de renderizado, el navegador ejecuta tres etapas: Layout (cálculo del tamaño y la posición de los elementos), Paint (relleno de píxeles con colores, texto e imágenes) y Composite (combinación de las capas pintadas y su visualización en pantalla).

Layout (Reflow)

Layout calcula la geometría —ancho, alto y posición x/y— de cada elemento. Cambiar propiedades que afectan a la geometría (width, margin, padding, font-size, position) activa el layout del elemento y, potencialmente, de todo su subárbol; es la etapa más costosa.

Paint

Paint rellena los píxeles de cada capa: fondos, bordes, texto y sombras. Cambiar color, background-color, visibility o border-radius activa un repintado sin volver a calcular el layout; es más barato que el layout, pero sigue siendo costoso si se repinta un área grande.

Composite

El compositor combina las capas mediante la GPU. Las propiedades CSS que solo afectan a la composición —transform y opacity— pueden animarse sin activar el layout ni el paint. La GPU las procesa a 60 fps con una participación mínima de la CPU.

Referencia de los activadores de CSS

csstriggers.com (actualmente, documentación del navegador) documenta qué propiedades CSS activan el layout, el paint o la composición en cada motor de navegador. Úselo para auditar las propiedades de animación. Prefiera transform y opacity para las propiedades animadas.

Saturación del layout

La saturación del layout ocurre cuando JavaScript alterna entre leer propiedades del layout (offsetWidth) y escribir propiedades de estilo en un bucle. Cada escritura invalida el layout y cada lectura fuerza un reflow síncrono. Agrupe todas las lecturas antes que todas las escrituras para evitar la saturación.

  <pre class="snippet">// BAD: read-write-read-write loop
elements.forEach(el => { const w = el.offsetWidth; el.style.width = w + 10 + "px"; });
// GOOD: batch reads then writes</pre>

Propiedades gestionadas solo por el compositor

Solo transform y opacity se gestionan completamente mediante el compositor cuando el elemento está en su propia capa. Animar cualquier otra propiedad, incluso left/top, activa el layout o el paint en el hilo principal y puede causar tirones.

Creación de capas de la GPU

Los navegadores promocionan los elementos a su propia capa de GPU cuando tienen will-change: transform, una animación CSS sobre transform/opacity, una posición fija con elementos vecinos que usan composición o una transformación 3D. Cada capa usa memoria de la GPU; demasiadas capas provocan presión de memoria.

Cómo evitar las tormentas de repintado

Una tormenta de repintado ocurre cuando una gran parte de la página se vuelve a pintar en cada frame. Use Chrome DevTools → Rendering → Paint flashing para identificar las áreas que se vuelven a pintar. Aísle los elementos que se animan con frecuencia en sus propias capas para limitar el área de repintado.

Panel Performance de DevTools

Registre un perfil de rendimiento en Chrome DevTools. El gráfico de llamas muestra los eventos Layout, Update Layer Tree, Paint y Composite. Las barras largas de layout o paint indican cuellos de botella. Procure que los tiempos de frame sean inferiores a 16 ms para mantener 60fps.

Pautas prácticas para animaciones

Anime con transform y opacity siempre que sea posible. Use clip-path en lugar de width/height para las animaciones de revelado; clip-path es compatible con el compositor en los navegadores modernos. Evite animar box-shadow; use opacity junto con un pseudo-elemento que tenga una sombra prerenderizada.

Comprobación de conocimientos

¿Qué dos propiedades CSS se pueden animar sin activar el layout ni el paint?

Resumen

El pipeline de renderizado — Layout, Paint y Composite — determina el rendimiento de las animaciones. Layout es la operación más costosa, paint tiene un coste moderado y las propiedades que solo afectan a composite (transform, opacity) se gestionan mediante la GPU. Comprender qué operaciones se activan permite crear animaciones fluidas a 60fps sin provocar thrashing del layout ni tormentas de repintado.

Gratis para empezar

Aprende CSS con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
40
Lecciones
159

Preguntas frecuentes

¿La lección «Layout, paint y composite: el pipeline de renderizado» es gratis?

Sí — el texto completo de «Layout, paint y composite: el pipeline de renderizado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CSS Academy, actualiza a CoddyKit PRO. El curso de CSS Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Layout, paint y composite: el pipeline de renderizado»?

Comprenda el pipeline de layout, paint y composite del navegador para prever el coste de los cambios de estilo. Practicas CSS Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar CSS Academy?

No se requiere experiencia previa. CSS Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Layout, paint y composite: el pipeline de renderizado»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de CSS Academy?

Sí. Cada lección de CSS Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. CSS crítico y bloqueo del renderizado
  2. Layout, paint y composite: el pipeline de renderizado
  3. will-change y promoción de capas
  4. Cobertura CSS y estilos no utilizados
← Volver a CSS Academy