重排:部分渲染樹(或者整個渲染樹)需要重新分析并且節(jié)點尺寸需要重新計算,表現(xiàn)為重新生成布局,重新排列元素。
重繪:由于節(jié)點的幾何屬性發(fā)生改變或者由于樣式發(fā)生改變,例如改變元素背景色時,屏幕上的部分內(nèi)容需要更新,表現(xiàn)為某些元素的外觀被改變。
單單改變元素的外觀,肯定不會引起網(wǎng)頁重新生成布局,但當(dāng)瀏覽器完成重排之后,將會重新繪制受到此次重排影響的部分。
重排和重繪代價是高昂的,它們會破壞用戶體驗,并且讓UI展示非常遲緩,而相比之下重排的性能影響更大,在兩者無法避免的情況下,一般我們寧可選擇代價更小的重繪。
『重繪』不一定會出現(xiàn)『重排』,『重排』必然會出現(xiàn)『重繪』。