Tasks chiếm hơn 50ms là long tasks, block main thread, gây jank (giật). Giải pháp: chia nhỏ tasks với setTimeout(0) hoặc scheduler.yield() (Chrome 115+, Stage 2 proposal), sử dụng Web Workers cho heavy computation, dùng requestIdleCallback cho background tasks. Chrome DevTools performance tab hiển thị long tasks.
scheduler.yield() là cách khuyến nghị hiện đại — cho phép browser render giữa các chunk mà không cần setTimeout(0).