RenderingNG ํ”„๋กœ์ ํŠธ๋กœ ๊ตฌํ˜„๋œ Chromium ์ตœ์ ํ™” ๊ฒฐ๊ณผ

Chromium ๊ฐœ๋ฐœ์ž๋Š” Chrome์˜ ์„ฑ๋Šฅ, ์•ˆ์ •์„ฑ ๋ฐ ํ™•์žฅ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์ง€์†์ ์ธ ์ž‘์—…์„ ๋ชฉํ‘œ๋กœ 8๋…„ ์ „์— ์‹œ์ž‘๋œ RenderingNG ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒฐ๊ณผ๋ฅผ ์š”์•ฝํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Chrome 94์— ๋น„ํ•ด Chrome 93์— ์ถ”๊ฐ€๋œ ์ตœ์ ํ™”๋กœ ์ธํ•ด ํŽ˜์ด์ง€ ๋ Œ๋”๋ง ์ง€์—ฐ ์‹œ๊ฐ„์ด 8% ๊ฐ์†Œํ•˜๊ณ  ๋ฐฐํ„ฐ๋ฆฌ ์ˆ˜๋ช…์ด 0.5% ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. Chrome ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜ ๊ทœ๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ณผ ๋•Œ ์ด๋Š” ๋งค์ผ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ 1400๋…„ ์ด์ƒ์˜ CPU ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์— ๋น„ํ•ด ์ตœ์‹  Chrome์€ ๊ทธ๋ž˜ํ”ฝ์„ 150% ์ด์ƒ ๋” ๋น ๋ฅด๊ฒŒ ๋ Œ๋”๋งํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ํ•˜๋“œ์›จ์–ด์—์„œ GPU ๋“œ๋ผ์ด๋ฒ„ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด 6๋ฐฐ ๋” ๋‚ฎ์Šต๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌํ˜„๋œ ๋ฐฉ๋ฒ• ์ค‘์—์„œ ์šฐ๋ฆฌ๋Š” GPU ์ธก์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํ”ฝ์…€์˜ ๋ž˜์Šคํ„ฐํ™” ์ž‘์—…์„ ๋ณ‘๋ ฌํ™”ํ•˜๊ณ  ์„œ๋กœ ๋‹ค๋ฅธ CPU ์ฝ”์–ด์— ๊ฑธ์ณ ํ”„๋กœ์„ธ์„œ๋ฅผ ๋”์šฑ ์ ๊ทน์ ์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์— ์ฃผ๋ชฉํ–ˆ์Šต๋‹ˆ๋‹ค(JavaScript ์‹คํ–‰, ํŽ˜์ด์ง€ ์Šคํฌ๋กค ์ฒ˜๋ฆฌ, ๋น„๋””์˜ค ๋ฐ ์ด๋ฏธ์ง€ ๋””์ฝ”๋”ฉ, ์‚ฌ์ „ ์˜ˆ๋ฐฉ์  ๋ Œ๋”๋ง). ์ฝ˜ํ…์ธ ). ํ™œ์„ฑ ๋ณ‘๋ ฌํ™”์˜ ์ œํ•œ ์š”์†Œ๋Š” CPU์˜ ๋ถ€ํ•˜ ์ฆ๊ฐ€์ด๋ฉฐ ์ด๋Š” ์˜จ๋„ ์ƒ์Šน๊ณผ ์ „๋ ฅ ์†Œ๋น„ ์ฆ๊ฐ€๋กœ ๋ฐ˜์˜๋˜๋ฏ€๋กœ ์„ฑ๋Šฅ๊ณผ ์ „๋ ฅ ์†Œ๋น„ ๊ฐ„์˜ ์ตœ์  ๊ท ํ˜•์„ ๋‹ฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐํ„ฐ๋ฆฌ ์ „์›์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ๋ Œ๋”๋ง ์†๋„๋ฅผ ํฌ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ธํ„ฐํŽ˜์ด์Šค ์‘๋‹ต์„ฑ์˜ ๊ฐ์†Œ๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ˆˆ์— ๋„๊ฒŒ ๋˜๋ฏ€๋กœ ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ์—์„œ ์Šคํฌ๋กค ์ฒ˜๋ฆฌ๋ฅผ ํฌ์ƒํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

RenderingNG ํ”„๋กœ์ ํŠธ์˜ ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด์— ๊ตฌํ˜„๋œ ๊ธฐ์ˆ ์€ ํ•ฉ์„ฑ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์™„์ „ํžˆ ๋ฐ”๊พธ๊ณ  ํ™”๋ฉด ํ•ด์ƒ๋„ ๋ฐ ์ƒˆ๋กœ ๊ณ ์นจ ๋นˆ๋„์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ณ ๋ คํ•˜์—ฌ ํŽ˜์ด์ง€์˜ ๊ฐœ๋ณ„ ๋ถ€๋ถ„๊ณผ ๊ด€๋ จํ•˜์—ฌ GPU ๋ฐ CPU์˜ ๊ณ„์‚ฐ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์ ์‘์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. , Vulkan, D3D12 ๋ฐ Metal๊ณผ ๊ฐ™์€ ๊ณ ๊ธ‰ ๊ทธ๋ž˜ํ”ฝ API ์ง€์› ์‹œ์Šคํ…œ์—๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ ํ™”์˜ ์˜ˆ๋กœ๋Š” GPU ํ…์Šค์ฒ˜ ์บ์‹ฑ ๋ฐ ์›น ํŽ˜์ด์ง€ ์ผ๋ถ€์˜ ๊ฒฐ๊ณผ ๋ Œ๋”๋ง์„ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ Œ๋”๋ง ์‹œ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œ๋˜๋Š” ํŽ˜์ด์ง€ ์˜์—ญ๋งŒ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ(์ผ๋ถ€ ๋ Œ๋”๋ง์—๋Š” ์˜๋ฏธ๊ฐ€ ์—†์Œ)์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ฝ˜ํ…์ธ ๋กœ ๋ฎ์—ฌ ์žˆ๋Š” ํŽ˜์ด์ง€).

RenderingNG์˜ ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ํŽ˜์ด์ง€์˜ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์„ฑ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด iframe์—์„œ ๊ด‘๊ณ  ์ œ๊ณต, ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ‘œ์‹œ, ์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค ์žฌ์ƒ, ์ฝ˜ํ…์ธ  ์Šคํฌ๋กค, JavaScript ์‹คํ–‰๊ณผ ๊ด€๋ จ๋œ ๊ณ„์‚ฐ์„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

RenderingNG ํ”„๋กœ์ ํŠธ๋กœ ๊ตฌํ˜„๋œ Chromium ์ตœ์ ํ™” ๊ฒฐ๊ณผ

๊ตฌํ˜„๋œ ์ตœ์ ํ™” ๊ธฐ์ˆ :

  • Chrome 94๋Š” ๋ณ„๋„๋กœ ๋ Œ๋”๋ง๋œ ์›น ํŽ˜์ด์ง€ ๋ถ€๋ถ„์„ ํ•ฉ์„ฑํ•˜๊ณ  GPU์˜ ๋กœ๋“œ๋ฅผ ๋™์ ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” CompositeAfterPaint ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์›๊ฒฉ ์ธก์ • ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅด๋ฉด ์ƒˆ๋กœ์šด ํ•ฉ์„ฑ ์‹œ์Šคํ…œ์€ ์Šคํฌ๋กค ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ 8% ์ค„์ด๊ณ , ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์‘๋‹ต์„ฑ์„ 3% ๋†’์ด๊ณ , ๋ Œ๋”๋ง ์†๋„๋ฅผ 3% ๋†’์ด๊ณ , GPU ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋ฅผ 3% ์ค„์ด๊ณ , ๋ฐฐํ„ฐ๋ฆฌ ์ˆ˜๋ช…์„ 0.5% ์—ฐ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
  • GPU ์ธก ๋ž˜์Šคํ„ฐํ™” ์—”์ง„์ธ GPU Raster๋Š” 2020๋…„ ๋ชจ๋“  ํ”Œ๋žซํผ์— ๋„์ž…๋˜์—ˆ์œผ๋ฉฐ MotionMark ๋ฒค์น˜๋งˆํฌ๋ฅผ ํ‰๊ท  37%, HTML ๊ด€๋ จ ๋ฒค์น˜๋งˆํฌ๋ฅผ 150% ๊ฐ€์†ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ฌํ•ด GPU ์ธก ๊ฐ€์†์„ ์‚ฌ์šฉํ•˜์—ฌ Canvas ์š”์†Œ๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ GPU Raster๊ฐ€ ํ–ฅ์ƒ๋˜์–ด ์œค๊ณฝ์„  ๋ Œ๋”๋ง์ด 1000% ๋” ๋นจ๋ผ์ง€๊ณ  MotionMark 1.2 ๋ฒค์น˜๋งˆํฌ๊ฐ€ 130% ๋” ๋นจ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.
  • LayoutNG๋Š” ์‹ ๋ขฐ์„ฑ๊ณผ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํŽ˜์ด์ง€ ์š”์†Œ ๋ ˆ์ด์•„์›ƒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์™„์ „ํžˆ ์žฌ์„ค๊ณ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์˜ฌํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • BlinkNG - Blink ์—”์ง„์˜ ๋ฆฌํŒฉํ† ๋ง ๋ฐ ์ •๋ฆฌ, ๋ Œ๋”๋ง ์ž‘์—…์„ ๋ณ„๋„๋กœ ์‹คํ–‰๋˜๋Š” ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์บ์‹ฑ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ณ  ์ฐฝ์— ์žˆ๋Š” ๊ฐœ์ฒด์˜ ๊ฐ€์‹œ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ง€์—ฐ ๋ Œ๋”๋ง์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ž‘์—…์€ ์˜ฌํ•ด ์™„๋ฃŒ๋  ์˜ˆ์ •์ด๋‹ค.
  • ์Šคํฌ๋กค๋ง, ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐ ์ด๋ฏธ์ง€ ๋””์ฝ”๋”ฉ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” 2011๋…„๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๋˜์–ด ์˜ฌํ•ด์—๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ CSS ๋ณ€ํ™˜ ๋ฐ SVG ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์„ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
  • VideoNG๋Š” ์›นํŽ˜์ด์ง€์—์„œ ๋น„๋””์˜ค๋ฅผ ์žฌ์ƒํ•˜๊ธฐ ์œ„ํ•œ ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ์—”์ง„์ž…๋‹ˆ๋‹ค. ์˜ฌํ•ด์—๋Š” ๋ณดํ˜ธ๋œ ์ฝ˜ํ…์ธ ๋ฅผ 4K ํ•ด์ƒ๋„๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. HDR ์ง€์›์ด ์ด์ „์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Viz - ๋ž˜์Šคํ„ฐํ™”(OOP-R - Out-of-process Raster) ๋ฐ ๋ Œ๋”๋ง(OOP-D - Out of process ๋””์Šคํ”Œ๋ ˆ์ด ํ•ฉ์„ฑ๊ธฐ)์„ ์œ„ํ•œ ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค๋กœ, ํŽ˜์ด์ง€ ์ฝ˜ํ…์ธ  ๋ Œ๋”๋ง์—์„œ ๋ธŒ๋ผ์šฐ์ € ์ธํ„ฐํŽ˜์ด์Šค ๋ Œ๋”๋ง์„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋˜ํ•œ ํ”Œ๋žซํผ๋ณ„ ๊ทธ๋ž˜ํ”ฝ API(Vulkan, D3D12, Metal)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” SkiaRenderer ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ณ€๊ฒฝ์œผ๋กœ ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„ ๋ฌธ์ œ๋กœ ์ธํ•œ ์ถฉ๋Œ ํšŸ์ˆ˜๋ฅผ 6๋ฐฐ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€