const ctx = document.getElementsByTagName("canvas")[0].getContext("2d");
ctx.fillRect(0, 0, 100, 100);
const start = Date.now();
while (Date.now() - start < 10000) {
//
}
실행해보면 알겠지만
도형은 10초 후에 보임
난 이로부터 fillRect는 태스크 큐에 drawing 작업을 추가만 해주는 놈이다라고 추론했었음
근데 생각해보니 fillRect가 즉시 그리는데 화면 갱신만 10초 뒤로 밀린거일수도 있겠네.
아게 맞음?
아님 다른
- dc official App
아까도 말했는데 매번 repaint가 도는거야. 10초 늦게 그려진 이유는 js는 하나의 스레드만을 사용하니 그렇게 되는거구
굳이 말하자면 후자에 가깝다고 생각해. 참고 링크는 아래에 있으니까 궁금하면 봐바
https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
일단 이게 명확한 답변이 될란지 몰겟지만 실행해봄
알다싶이 html 파서 돌면서 스크립트 만날때
그걸 즉시 실행시킴
그래서 하나의 쓰레드만 사용하는것이 나온거겟고
그다음에는 프로파일탭에서
니가말한대로
Composite 일어나고
처리되는거라 할수있을듯
적어도 내 크롬 퍼포먼스탭에선 그리말함
힝힝...
ㅇㅅㅇ