Reflow (layout) ve repaint nedir? Performans için neden önemlidir?
Cevap
Tarayıcı bir sayfayı şu adımlarla çizer: Style → Layout (reflow) → Paint → Composite.
- Reflow: elemanların boyut ve konumlarının yeniden hesaplanması. En pahalı adımdır ve çoğu zaman tüm sayfayı etkiler. Tetikleyenler:
width,height,top,font-sizedeğişimi, DOM ekleme. - Repaint: yerleşim değişmeden piksellerin yeniden boyanması:
color,background,box-shadow. - Composite: yalnızca GPU katmanlarının birleştirilmesi:
transform,opacity. En ucuz adımdır.
Pratik kurallar:
- Animasyonlarda yalnızca
transformveopacitykullanın - Okuma ve yazmayı karıştırmayın (layout thrashing):
// Kötü: her turda zorunlu reflow
kutular.forEach(k => { k.style.width = k.offsetWidth + 10 + "px"; });
// İyi: önce hepsini oku, sonra hepsini yaz
const genislikler = kutular.map(k => k.offsetWidth);
kutular.forEach((k, i) => { k.style.width = genislikler[i] + 10 + "px"; });İlgili HTML & CSS soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.