๐Ÿงฉ ์˜ค๋Š˜ ํ•œ ์ผ


๐Ÿง  ๋ฐฐ์šด ์  / ์ƒˆ๋กœ ์•Œ๊ฒŒ ๋œ ์ 

๊ธฐ์กด setTimeout๊ณผ setInterval์˜ ๋ฌธ์ œ์ 

โ†’ requestAnimationFrame ์‚ฌ์šฉ์œผ๋กœ ํ•ด๊ฒฐ

requestAnimationFrame(rAF)์ด๋ž€?

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ค์Œ ํ™”๋ฉด์„ ๋ Œ๋”๋งํ•˜๊ธฐ ์ง์ „์— ์ง€์ •ํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก ์š”์ฒญํ•˜๋Š” API์ด๋‹ค.

๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ์‚ฌ์ดํด์— ๋งž์ถฐ ์ฝœ๋ฐฑ์„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์ด๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๋ฐ›๋Š”๋ฐ, repaint ์ด์ „์— ์‹คํ–‰ํ•  ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค.

์‹ค์ œ ํ™”๋ฉด์ด ๊ฐฑ์‹ ๋˜์–ด ํ‘œ์‹œ๋˜๋Š” ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ”„๋ ˆ์ž„ ์‹œ์ž‘ ์‹œ ์‹คํ–‰๋˜๋„๋ก ๋ณด์žฅํ•ด์ฃผ์–ด ํ”„๋ ˆ์ž„ ๋ฐ€๋ฆผ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•ด์ค€๋‹ค.

requestAnimationFrame์˜ ์žฅ์ 