๐Ÿš€ ์œ ๋‹ˆํ‹ฐ ๊ฒŒ์ž„ ์Šคํƒ€ํŠธ์—…, ๊ทธ๋ž˜ํ”ฝ์Šค ์ตœ์ ํ™”๋กœ ํผํฌ๋จผ์Šค ํ˜์‹ ! ์„ฑ๊ณต ์ „๋žต ์™„๋ฒฝ ๊ฐ€์ด๋“œ








๐Ÿš€ ์œ ๋‹ˆํ‹ฐ ๊ฒŒ์ž„ ์Šคํƒ€ํŠธ์—…, ๊ทธ๋ž˜ํ”ฝ์Šค ์ตœ์ ํ™”๋กœ ํผํฌ๋จผ์Šค ํ˜์‹ ! ์„ฑ๊ณต ์ „๋žต ์™„๋ฒฝ ๊ฐ€์ด๋“œ

๐Ÿš€ ์œ ๋‹ˆํ‹ฐ ๊ฒŒ์ž„ ์Šคํƒ€ํŠธ์—…, ๊ทธ๋ž˜ํ”ฝ์Šค ์ตœ์ ํ™”๋กœ ํผํฌ๋จผ์Šค ํ˜์‹ ! ์„ฑ๊ณต ์ „๋žต ์™„๋ฒฝ ๊ฐ€์ด๋“œ

๋ชฉ์ฐจ

์„œ๋ก : ๊ทธ๋ž˜ํ”ฝ์Šค ์ตœ์ ํ™”์˜ ์ค‘์š”์„ฑ

์œ ๋‹ˆํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์Šคํƒ€ํŠธ์—…์—๊ฒŒ ๊ทธ๋ž˜ํ”ฝ์Šค ์ตœ์ ํ™”๋Š” ๋‹จ์ˆœํ•œ ์„ ํƒ์ด ์•„๋‹Œ ํ•„์ˆ˜์ ์ธ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋›ฐ์–ด๋‚œ ๊ทธ๋ž˜ํ”ฝ์€ ์œ ์ €๋“ค์˜ ์‹œ์„ ์„ ์‚ฌ๋กœ์žก์ง€๋งŒ, ์ตœ์ ํ™”๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด ๋‚ฎ์€ ํ”„๋ ˆ์ž„ ๋ ˆ์ดํŠธ, ์žฆ์€ ๋ฒ„๋ฒ…์ž„์œผ๋กœ ์ด์–ด์ ธ ์‚ฌ์šฉ์ž ์ดํƒˆ์„ ์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์œ ๋‹ˆํ‹ฐ ๊ฒŒ์ž„ ์Šคํƒ€ํŠธ์—…์ด ์„ฑ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•  ๊ทธ๋ž˜ํ”ฝ์Šค ์ตœ์ ํ™” ์ „๋žต์„ ์ž์„ธํžˆ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

A. ํ•ต์‹ฌ ์ตœ์ ํ™” ๊ธฐ๋ฒ•

์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ํ•ต์‹ฌ์ ์ธ ์ตœ์ ํ™” ๊ธฐ๋ฒ•๋“ค์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํžˆ ๊ทธ๋ž˜ํ”ฝ ํ’ˆ์งˆ์„ ๋‚ฎ์ถ”๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํšจ์œจ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ์ตœ์ƒ์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • Draw Call ๊ฐ์†Œ: Draw Call์€ GPU๊ฐ€ ๋ Œ๋”๋ง ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์ด๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. Static Batching, Dynamic Batching, Occlusion Culling ๋“ฑ์˜ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ Draw Call์„ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Shader ์ตœ์ ํ™”: ํšจ์œจ์ ์ธ Shader ์ž‘์„ฑ์€ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ๊ณ„์‚ฐ์„ ์ค„์ด๊ณ , Shader์˜ ๋ณต์žก์„ฑ์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์‹œ ์ตœ์ ํ™”: ํด๋ฆฌ๊ณค ์ˆ˜๋ฅผ ์ค„์ด๊ณ , LOD(Level of Detail) ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜์—ฌ ๋ฉ€๋ฆฌ ์žˆ๋Š” ์˜ค๋ธŒ์ ํŠธ์˜ ํด๋ฆฌ๊ณค ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ…์Šค์ณ ์ตœ์ ํ™”: ํ…์Šค์ณ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ , ์••์ถ• ๋ฐฉ์‹์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Mipmap์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ€๋ฆฌ ์žˆ๋Š” ์˜ค๋ธŒ์ ํŠธ์˜ ํ…์Šค์ณ ํ•ด์ƒ๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

B. ์—์…‹ ๊ด€๋ฆฌ ์ „๋žต

ํšจ์œจ์ ์ธ ์—์…‹ ๊ด€๋ฆฌ๋Š” ๊ฐœ๋ฐœ ๊ณผ์ •์˜ ์†๋„์™€ ์ตœ์ข… ๊ฒŒ์ž„์˜ ์„ฑ๋Šฅ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ „๋žต์„ ํ†ตํ•ด ์—์…‹ ๊ด€๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์—์…‹ ๋ฒˆ๋“ค ์‚ฌ์šฉ: ๊ฒŒ์ž„์— ํ•„์š”ํ•œ ์—์…‹์„ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ ๋กœ๋”ฉ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์—์…‹ ์••์ถ•: ํ…์Šค์ณ, ๋ชจ๋ธ, ์‚ฌ์šด๋“œ ๋“ฑ์˜ ์—์…‹์„ ์••์ถ•ํ•˜์—ฌ ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ๋กœ๋”ฉ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ํ™œ์šฉ: Git๊ณผ ๊ฐ™์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—์…‹ ๊ด€๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๊ณ , ํ˜‘์—…์„ ์›ํ™œํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

C. ํ”„๋กœํŒŒ์ผ๋ง ๋„๊ตฌ ํ™œ์šฉ

์œ ๋‹ˆํ‹ฐ ํ”„๋กœํŒŒ์ผ๋Ÿฌ๋Š” ๊ฒŒ์ž„์˜ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํ”„๋กœํŒŒ์ผ๋Ÿฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ CPU, GPU, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ถ„์„ํ•˜๊ณ , ์„ฑ๋Šฅ ์ €ํ•˜์˜ ์›์ธ์„ ํŒŒ์•…ํ•˜์—ฌ ๊ฐœ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

D. ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ

๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  ํšจ์œจ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ๋‹ˆํ‹ฐ ์—์…‹ ์Šคํ† ์–ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ตœ์ ํ™” ๋„๊ตฌ์™€ ์—์…‹์„ ๊ตฌ๋งคํ•˜๊ฑฐ๋‚˜, ์˜จ๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ ํŠœํ† ๋ฆฌ์–ผ์„ ํ™œ์šฉํ•˜์—ฌ ์ตœ์ ํ™”์— ๋Œ€ํ•œ ์ง€์‹์„ ์Šต๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก : ์ง€์†์ ์ธ ๊ฐœ์„ ์„ ์œ„ํ•œ ๋…ธ๋ ฅ

๊ทธ๋ž˜ํ”ฝ์Šค ์ตœ์ ํ™”๋Š” ๋‹จ๋ฐœ์„ฑ ์ž‘์—…์ด ์•„๋‹Œ, ์ง€์†์ ์ธ ๋…ธ๋ ฅ์„ ํ•„์š”๋กœ ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ๊ณผ์ • ์ „๋ฐ˜์— ๊ฑธ์ณ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์ƒˆ๋กœ์šด ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ๊พธ์ค€ํžˆ ํ•™์Šตํ•˜๋ฉฐ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋…ธ๋ ฅ์„ ํ†ตํ•ด ์œ ๋‹ˆํ‹ฐ ๊ฒŒ์ž„ ์Šคํƒ€ํŠธ์—…์€ ๊ฒฝ์Ÿ๋ ฅ์„ ํ™•๋ณดํ•˜๊ณ  ์„ฑ๊ณต์ ์ธ ๊ฒŒ์ž„์„ ์ถœ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



“`

..

๋‹ต๊ธ€ ๋‚จ๊ธฐ๊ธฐ