์ข€๋” ์ƒ์‚ฐ์ ์ธ ๊ฐค๋ถ„์œ„๊ธฐ?๋ฅผ ์œ„ํ•ด ํ•œ๋ฒˆ ์จ๋ด…๋‹ˆ๋‹ค

์•„๋Š” ๋ถ„์€ ๋ญ ์ฝ์„ ํ•„์š” ์—†์œผ์‹œ๊ฒŸ๊ณ ์š”. ์•„์ง ๋ชจ๋ฅด๋Š” ๋ถ„์€ ์•Œ๋ฉด ์ด๋“์ด ๋˜๋Š” ๋‚ด์šฉ... (์ด๋Ÿฐ๊ฑฐ ์žˆ์œผ๋ฉด ๋‹ค๋ฅธ ๋ถ„๋“ค๋„ ์˜ฌ๋ ค์ฃผ์‹œ๋ฉด ์ข‹๊ฒ ๋‹ค๋Š”)


๋ญ ๊ฑฐ์ฐฝํ•˜๊ฒŒ๋Š” ์•„๋‹ˆ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฐœ๋…์ •๋ฆฌ ๋А๋‚Œ์œผ๋กœ ๊ฐ€๊ฒŸ์Šต๋‹ˆ๋‹ค.


์ผ๋‹จ ๋ชจ๋ฐ”์ผ์ด๋‚˜ PC๋‚˜ ๊ทธ๋ž˜ํ”ฝํ•˜๋“œ์›จ์–ด๋Š” 3D ์œ„์ฃผ๋กœ ๋งŒ๋“ค์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค

2d๊ฒŒ์ž„์„ ๋งŒ๋“ค๋•Œ์กฐ์ฐจ ๊ทธ๋ƒฅ 3d๊ฐ€์† ํ•˜๋“œ์›จ์–ด์—์„œ ๋Œ๋ฆฌ๋Š” ๊ฑฐ๋ผ๊ณ  ๋ณด์‹ค ์ˆ˜ ์žˆ์ฃ 

๊ทธ๋Ÿฐ๋ฐ ํ˜„์„ธ๋Œ€์˜ 3d ๊ธฐ์ˆ ์€ vga ๋Šฅ๋ ฅ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ์™ ์ง€๋ชจ๋ฅด๊ฒŒ cpu๋นจ์„ ๋งŽ์ด ํƒ€๊ฒŒ ๋งŒ๋“ค์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค.


๊ฐ€์ •์„ ํ•ด๋ด…๋‹ˆ๋‹ค.. 5๋…„๋งŒ์— ์ปดํ„ฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ•˜๋Š”๋ฐ ๊ตฌํ˜• cpu๋Š” ๊ฑ ๋†”๋‘๊ณ  ๋น„๋””์˜ค์นด๋“œ๋งŒ ์ตœ์‹ ํ˜•์œผ๋กœ ๋งž์ท„๋‹ค๊ณ  ํ•ด๋ด…์‹œ๋‹ค

๋‹ค๋“ค ์•„์‹œ๋“ฏ์ด ๊ทธ๋Ÿผ ๋น„๋””์˜ค์นด๋“œ๊ฐ€ ์•„๋ฌด๋ฆฌ ์ข‹์•„๋„ cpu๊ฐ€ ๊ตฌ๋ ค์„œ ์ œ ์„ฑ๋Šฅ์ด ์•ˆ๋‚˜๊ณ  ๋ˆ๊ฐ’ ๋ชปํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


์ด๊ฑด ์™œ ๊ทธ๋Ÿฌ๋ƒ๋ฉด draw ๊ธฐ๋Šฅ์„ ์ฝ”๋“œ์—์„œ ์‹คํ–‰ํ•˜๋ฉด ๊ทธ ๋ช…๋ น์„ vga๋กœ ๋ณด๋‚ด์ฃผ๋Š” ์—ญํ• ์„ cpu๊ฐ€ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค

๊ทธ๋ž˜์„œ ์—…๊ธ€ํ•  ๋• vga๋ž‘ cpu๋ฅผ ๊ฐ™์€ ๊ธ‰์œผ๋กœ ๋งž์ถฐ์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค


..๋Š” ์˜†๊ธธ๋กœ ์ƒŒ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์‚ฌ์‹ค ์ด๊ฒŒ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.


vga๊ฐ€ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๋Š”๊ฑด ์ผ๋‹จ ์ž๊ธฐํ•œํ…Œ ๋“ค์–ด์˜จ ๋ Œ๋”๋ง ๋ช…๋ น์„ ํ™”๋ฉด์— ๊ทธ๋ฆฌ๋Š”๊ฑด ์—„์ฒญ ๋น ๋ฅด๋‹ค๋Š” ๊ฒƒ์ด์ฃ 

๊ทผ๋ฐ vga์˜ ๋ฐœ์ „์— ๋น„ํ•ด์„œ API๋‚˜ ๋“œ๋ผ์ด๋ฒ„ ์ฒด๊ณ„๋Š” ๊ณ„์† ์˜›๋‚  ๋ฐฉ์‹์ด๋ผ์„œ ์• ์ดˆ์— cpu๋กœ๋ถ€ํ„ฐ vga๊นŒ์ง€ ๋ช…๋ น์ด ๋“ค์–ด์˜ค๋Š” ๊ณผ์ •์ด ๋А๋ฆฌ๋‹ค๋Š” ๊ฒ๋‹ˆ๋‹ค


์ฆ‰ cpu๊ฐ€ ๋ณ‘๋ชฉ(bottleneck)์ด ๋˜๋Š” ๊ฒ๋‹ˆ๋‹ค. cpu->vga๋กœ draw๋ช…๋ น์„ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ • ์ž์ฒด๊ฐ€ ๋А๋ฆฌ๋‹ˆ๊นŒ vga๊ฐ€ ์ œ ์„ฑ๋Šฅ์„ ๋ชป๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


๊ฒŒ์ž„์— ๊ทธ๋ ค์•ผํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ 1000๊ฐœ ์žˆ๋‹ค๊ณ  ์น˜๋ฉด

for๋ฌธ ๋Œ์•„์„œ ๊ฐ์ฒด ์ „๋ถ€ draw ์ฝœ์„ ํ•ด์ค˜์•ผ๊ฒ ์ฃ ?


๊ทธ๋Ÿผ draw์ฝœ์ด ํ•˜๋‚˜์”ฉ vga๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

์ผ๋‹จ vga๊ฐ€ 1๋ฒˆ์งธ draw๋ช…๋ น์„ ๋ฐ›๊ณ  ์กด๋‚˜ ๋นจ๋ฆฌ ๊ทธ๊ฑธ ํ™”๋ฉด์— ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.

๊ทผ๋ฐ vga๊ฐ€ 1๋ฒˆ์งธ ๋“œ๋กœ์šฐ๋ฅผ ๋๋ƒ‡๋Š”๋ฐ๋„ cpu๊ฐ€ ๋“œ๋ผ์ด๋ฒ„๋ž‘ ๋‚‘๋‚‘ ๋Œ€๋А๋ผ ๋‘๋ฒˆ์งธ draw ๋ช…๋ น์„ ์•„์ง vga์— ์ „๋‹ฌ์„ ๋ชปํ–‡์Šต๋‹ˆ๋‹ค

์ด๊ฒŒ 1000๋ฒˆ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค...

vga๋Š” ์ผ๋‹จ ๋“ค์–ด์˜จ ์ผ์„ ๊ธˆ์„ธ ๋๋‚ด๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋ฉฐ ํƒฑ์žํƒฑ์ž ๋†€์ฃ .. ๊ทผ๋ฐ ์ •์ž‘ ๋‹ค์Œ ์ผ์„ ์ค˜์•ผ ํ•˜๋Š” cpu๊ฐ€ ๋ฐ”๋กœ๋ฐ”๋กœ ์ „๋‹ฌ์„ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌ๋ฉด FPS๊ฐ€ ์•ˆ๋‚˜์˜ค๊ฒŒ ๋˜๋Š” ๊ฑฐ์ฃ 

์ด ํ˜„์ƒ์€ ๋‹น์—ฐํ•˜๊ฒŒ๋„.. PC๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋‚ฎ์€ ๋ชจ๋ฐ”์ผ์—์„œ ๋” ํฌ๊ฒŒ ๋ถ€๊ฐ๋ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์˜›๋‚ ์— PC๊ฐ€ ์ง€๊ธˆ๋ณด๋‹ค ๊ตฌ๋ฆด ๋• PC์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์˜€๊ฒŸ์ฃ 


๊ทธ๋ž˜์„œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ๋‚˜์˜จ๊ฒŒ ๋˜‘๊ฐ™์€ ์žฅ๋ฉด์„ ๊ทธ๋ ค๋„ draw call ํšŸ์ˆ˜๋ฅผ ์ค„์ด๋Š” ๊ฒ๋‹ˆ๋‹ค.

draw ๋ช…๋ น์„ ํ˜ธ์ถœํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ๊ฐ€๋Šฅํ•œ ์ค„์ด๊ณ 

๋Œ€์‹ ์— ํ•œ๋ฒˆ draw์— ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๋‚ด์šฉ์„ ์ฑ„์›Œ์„œ ๋ณด๋‚ด์ž ์ด๊ฑฐ์ ธ


draw ํ•œ๋ฒˆ์— ๊ทธ๋ฆผ 1์žฅ ๋ณด๋‚ด๋‚˜ ๊ทธ๋ฆผ 10์žฅ์„ ๋ณด๋‚ด๋‚˜ cpuํ•œํ…Œ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๋˜‘๊ฐ™์œผ๋‹ˆ๊นŒ์š”

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ vga๋„ 1์žฅ ์˜ค๋‚˜ 10์žฅ ์˜ค๋‚˜ ๊ธˆ์„ธ ๋ Œ๋”๋ง ๋๋‚ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. vga๋Š” ์›๋ž˜ ๋น ๋ฆ…๋‹ˆ๋‹ค. ์ž๊ธฐ๊ฐ€ ์ผ๋๋‚ด๋Š” ์†๋„๋ณด๋‹ค ์ƒˆ ์ผ์„ ๋นจ๋ฆฌ ์•ˆ์ค˜์„œ ๋ชปํ–ˆ๋˜ ๊ฒƒ ๋ฟ..


๊ทธ๋ž˜์„œ draw call ์ˆ˜๋ฅผ ์ค„์ด๋ฉด FPS๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์‰ฌ์›Œ์ง€๋Š” ๊ฒƒ์ด๊ณ ์š”


์ด๋ž˜์„œ ๋‚˜์˜ค๋Š”๊ฒŒ batch rendering ๊ฐœ๋…์ž…๋‹ˆ๋‹ค

batch๋ผ๋Š”๊ฑฐ๋Š” ๋ณดํ†ต '์ผ๊ด„'์ด๋ผ๊ณ  ๋ฒˆ์—ญํ•˜์ง€๋งŒ ๋‹ค๋ฅด๊ฒŒ ๋งํ•˜๋ฉด ๋”ฐ๋กœ๋”ฐ๋กœ ๋ณด๋‚ด์ง€๋ง๊ณ  ๋ญ‰ํƒœ๊ธฐ๋กœ ๋ฌถ์–ด์„œ ๋ณด๋‚ด์ž ์ด๊ฑด๋ฐ์š”


3d ์นด๋“œ๋Š” ํ˜„์žฌ ๋ Œ๋”๋ง ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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


์šฐ๋ฆฌ๋Š” draw๋ผ๊ณ  ์‰ฝ๊ฒŒ ๋งํ•˜์ง€๋งŒ ์‚ฌ์‹ค ํ•œ๋ฒˆ์˜ draw๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ € ๋งŽ์€ ์ƒํƒœ๋“ค์„ ๋‹ค ์…‹ํŒ…ํ•ด์ฃผ๊ณ  ๋‚˜์„œ์•ผ draw 1ํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฑฐ์ฃ .

ํ•œ๋ฒˆ์˜ draw์— ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๋‚ด์šฉ์„ ๊ทธ๋ฆฌ๋ ค๋ฉด ์ € ์ƒํƒœ๊ฐ€ ๊ฐ™์€ ๊ฒƒ๋ผ๋ฆฌ ๋ฌถ์–ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์ฆ‰ batch ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค)


ํƒ„๋ง‰ ์ŠˆํŒ… ๊ฒŒ์ž„์„ ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค

ํ™”๋ฉด์— ์ ์ด ์œ ์ด์•Œ์ด 500๋ฐœ์ด ๋‚ ์•„๋‹ค๋‹ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์•Œ๋“ค์€ ์ „๋ถ€ ๋˜‘๊ฐ™์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ 1๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์žˆ๊ณ ์š”.

์ด๋Ÿฌ๋ฉด 1ํ”„๋ ˆ์ž„์„ ๋ Œ๋”๋งํ• ๋•Œ ๋ชจ๋“  ์ด์•Œ์ด ๊ฐ™์€ draw ์ƒํƒœ๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ง€ ๋‹ค๋ฅธ๊ฑด ์œ„์น˜ ์ •๋ณด ๋ฟ์ธ๋ฐ ์ด๋Ÿฐ ์ •๋„๋Š” ํ•˜๋‚˜์˜ batch ์•ˆ์—์„œ๋„ ๊ฐ๊ฐ ๋‹ค๋ฅด๊ฒŒ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ย 


2d๊ฒŒ์ž„์ด๋ผ๋ฉด batch์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ•  ์ƒํƒœ์ •๋ณด๋Š” 'ํ…์Šค์ฒ˜' ์ž…๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ๊ฐ์ฒด๊ฐ€ ์žˆ์–ด๋„ ํ…์Šค์ฒ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ํ•˜๋‚˜์˜ batch๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹จ ๊ฑฐ์ฃ 

ํ•˜๋‚˜์˜ batch๋Š” ํ•œ๋ฒˆ์˜ draw call ์„ ์˜๋ฏธํ•˜๋‹ˆ๊นŒ, 500๋ฐœ ์ด์•Œ์ด ์žˆ์–ด๋„ ํ…์Šค์ฒ˜๋งŒ ๊ฐ™์œผ๋ฉด 1๋ฒˆ draw๋กœ ๋๋‚ด๋Š” ๊ฒŒ ๊ฐ€๋Šฅํ•œ๊ฒ๋‹ˆ๋‹ค.


์ด๋“์ด๋„ค์š”..


๊ทผ๋ฐ ๊ฒŒ์ž„์—” ์—ฌ๋Ÿฌ ์บ๋ฆญํ„ฐ๋‚˜ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ๋‚˜์˜ค๊ณ  ํ…์Šค์ฒ˜๋„ ๊ฐ์ž ๋‹ค์–‘ํ• ํ…๋ฐ ๋” batch๋ฅผ ์ž˜ ๋ฌถ์œผ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?

์—ฌ๊ธฐ์„œ ๋‚˜์˜ค๋Š” ๊ฐœ๋…์ด texture atlas์ž…๋‹ˆ๋‹ค.

"ํ…์Šค์ฒ˜๊ฐ€ ๋‹ฌ๋ผ์„œ ๋ชป ๋ฌถ๋Š”๋‹ค๊ณ ? ๊ทธ๋Ÿผ ํ…์Šค์ฒ˜๋ฅผ ํ•ฉ์ณ์„œ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋กœ ๋งŒ๋“ค์ž!"

๊ฐ€๋ น ์ด์•Œ ํƒ€์ž…์ด 3๊ฐ€์ง€๊ฐ€ ์žˆ์–ด์„œ 3์ข…์˜ ์ด๋ฏธ์ง€๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด, ์ด๊ฑธ ํ•˜๋‚˜์˜ ํ…์Šค์ฒ˜๋กœ ๋ฏธ๋ฆฌ ํ•ฉ์ณ๋‘๊ณ  ๋ Œ๋”๋งํ•  ๋• ๊ฑฐ๊ธฐ์— ํฌํ•จ๋œ ์ด๋ฏธ์ง€์˜ ์˜์—ญ์„ ์ง€์ •ํ•ด์„œ drawํ•˜๋Š” ๊ฒ๋‹ˆ๋‹ค.


๊ทธ๋Ÿผ ์ด์•Œ์ด 3์ข…๋ฅ˜๋ผ๋„ ์ „๋ถ€ ํ•˜๋‚˜์˜ batch๋กœ ๋ฌถ์„ ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


ํ…์Šค์ฒ˜ ์•„ํ‹€๋ผ์Šค๊ฐ€ ๋ญ”์ง€ ๊ฐ์ด ์ž˜ ์•ˆ์˜ค์‹œ๋ฉด ์ฏ”๊พธ๋ฅดRPG๊ฐ™์€๋ฐ ๋“ค์–ด์žˆ๋Š” ๋งต ํƒ€์ผ ํ…์Šค์ฒ˜๋ฅผ ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ์˜ ํƒ€์ผ์ด ํ•œ์žฅ์˜ ์ด๋ฏธ์ง€์— ํ•ฉ์ณ์ ธ์žˆ๊ณ 

๋งต์„ ๊ทธ๋ฆด ๋•Œ๋Š” ๊ฐ ํƒ€์ผ์˜ ์˜์—ญ์„ ๋”ฐ์„œ ๋“œ๋กœ์šฐ๋ฅผ ํ•˜๋Š” ๊ฑฐ์ฃ .

๋งตํƒ€์ผ์ด ์ „๋ถ€ 1์žฅ์— ๋‹ค ๋“ค์–ด์žˆ๋‹ค๋ฉด ๋งต์„ ๊ทธ๋ฆด ๋•Œ ํƒ€์ผ์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ทธ๋ฆฌ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ batch๋กœ ๋ฌถ์–ด์„œ ์ „์ฒด ๋งต์„ ํ•œ๋ฐฉ์— ๊ทธ๋ฆฌ๋Š” ๊ฒŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜๊ณ ์š”..



์ด์ œ ์—”์ง„ ์–˜๊ธฐ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค...

์—”์ง„๋“ค์€ ๊ทธ๋ž˜์„œ ๋‹น์—ฐํ•˜๊ฒŒ๋„ ๋ณดํ†ต ์ด batch ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ณ  ์ž‡์Šต๋‹ˆ๋‹ค.

๊ทผ๋ฐ ์ง€์›ํ•˜๋Š” ์ •๋„๊ฐ€ ๋‹ค๋ฅด์ฃ .

์œ„์—์„œ ์„ค๋ช…ํ•œ๋Œ€๋กœ ํšจ๊ณผ์ ์ธ batch rendering์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฏธ๋ฆฌ ํ…์Šค์ฒ˜ ํ•œ์žฅํ•œ์žฅ์— ๊ฐ€๊ธ‰์  ๋งŽ์€ ๊ฐฏ์ˆ˜์˜ ์ด๋ฏธ์ง€๋ฅผ ์ฑ„์›Œ๋†“์•„์•ผ ๋ฉ๋‹ˆ๋‹ค (=texture atlas)

์ด๊ณผ์ •์„ texture packing์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š”๋ฐ

์ด๊ฑธ ์ž๋™์œผ๋กœ ์•Œ์•„์„œ ํ•ด์ฃผ๋Š” ์—”์ง„์ด ์žˆ๊ณ , ๊ทธ๋Ÿฐ๊ฑฐ ์•ˆํ•ด์ฃผ๋Š” ์—”์ง„์ด ์žˆ์Šต๋‹ˆ๋‹ค

๋˜ ๊ทธ์™€ ๋ณ„๊ฐœ๋กœ ๋ Œ๋”๋งํ•  ๋•Œ ๋ฌถ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋ผ๋ฆฌ batching์„ ์ž๋™์œผ๋กœ ํ•ด์ฃผ๋Š” ์—”์ง„์ด ์žˆ๊ณ , ์•„๋‹Œ๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค. (์ด๊ฑด dynamic batching์ด๋ผ๊ณ  ๋ถ€๋ฆ„๋‹ˆ๋‹ค)


์ œ๊ฐ€ ์•„๋Š” ์—”์ง„๋“ค์˜ ์˜ˆ์‹œ

- ๊ฒŒ์ž„๋ฉ”์ด์ปค : ํ…์Šค์ฒ˜ํŒจํ‚น์„ ์ž๋™์œผ๋กœ ํ•ด์ฃผ๊ณ , ๋ฐฐ์นญ๋„ ์ž๋™์œผ๋กœ ํ•ด์คŒ (PROFIT!)

- Cocos2d-x : ํ…์Šค์ฒ˜ํŒจํ‚น ๊ทธ๋Ÿฐ๊ฑฐ ์—†๋‹ค(๋งž๋‚˜์š”? ์•„๋‹ˆ๋ฉด ์ •์ • ๋ถ€ํƒ). ๋‹ค์ด๋‚˜๋ฏน ๋ฐฐ์นญ ์žˆ์Œ (3.x๋ฒ„์ „๋ถ€ํ„ฐ ์ง€์›ํ–ˆ๋˜๊ฑธ๋กœ)

- ์œ ๋‹ˆํ‹ฐ : ์œ ๋‹ˆํ‹ฐ๋Š” ํ•˜๋‹ค ๋ง์•„์„œ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์š”. SpritePacker๋ผ๊ณ  ์žˆ๋Š” ๊ฑด ๋ดค๊ตฌ์š”, ๋‹ค์ด๋‚˜๋ฏน ๋ฐฐ์นญ๋„...์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์œ ๋‹ˆํ‹ฐ ์ •๋„๋ผ๋ฉด ์žˆ์ง€ ์•Š์„๊นŒ(์•„์‹œ๋Š”๋ถ„ ํ™•์ธ์ข€)

- love2d : ๋‘˜๋‹ค ์—†๋‹ค (ใ… ใ… )


์—”์ง„์— ํ…์Šค์ฒ˜ํŒจํ‚น ๊ธฐ๋Šฅ์€ ์—†์œผ๋ฉด ๊ทธ๋ƒฅ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ง€๋งŒ

๋ณดํ†ต์€ ์ž๋™ ๋ฐฐ์นญ์€ ์ง€์›์•ˆํ•ด๋„ ์ˆ˜๋™ ๋ฐฐ์นญ์˜ ํ˜•ํƒœ๋กœ ๊ฐ€๋Šฅ์€ ํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”์ฝ”์Šค๋„ ์˜ˆ์ „์— CCSpriteBatchNodeย  ๋ผ๊ณ  ์žˆ์—ˆ๊ณ  love2d์—๋„ SpriteBatch๋ผ๊ณ  ์ˆ˜๋™์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ผ์žˆ์Šต๋‹ˆ๋‹ค.


์ˆ˜๋™์œผ๋กœ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฏธ๋ฆฌ ํ…์Šค์ฒ˜์•„ํ‹€๋ผ์Šค๋ฅผ ์ž˜ ๊ตฌ์„ฑํ•œ๋’ค, ์ฝ”๋”ฉํ•  ๋•Œ ๊ฐ™์€ ํ…์Šค์ฒ˜์•„ํ‹€๋ผ์Šค๋ฅผ ์“ฐ๋Š” ๊ฒƒ๋ผ๋ฆฌ ์ ์ ˆํžˆ ๋ฌถ์–ด์„œ ๋“œ๋กœ์šฐ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์•„๋‹ˆ๋ฉด ์ ๋‹นํžˆ ์งฑ๊ตฌ๋ฅผ ๊ตด๋ ค์„œ ๋‹ค์ด๋‚˜๋ฏน ๋ฐฐ์นญ์„ ๊ตฌํ˜„ํ•ด๋„ ๋˜๊ณ ์š”..

๋ฌผ๋Ÿฐ ๊ฑ ์—”์ง„์—์„œ ๋‹ค ํ•ด์ฃผ๋Š”๊ฒŒ ์งฑ์ด์ฃ ..



๊ฒฐ๋ก : ๊ฐ์ฒด๋ฅผ ๋งŽ์ด ๊ทธ๋ ธ๋”๋‹ˆ FPS๊ฐ€ ์•ˆ๋‚˜์˜จ๋‹ค๋ฉด batch rendering์„ ํ•˜์ž~


๋—