ํ๋ทฐ 2d ํฐ๊ฒ์ ๋ง๋ค๊ณ ์๋ ์น๋๋ค์
์ปดํฐ์์ ํ ๋๋ ์ ํ ๋ฌธ์ ๊ฐ ์์๋๋ฐ
์๋ํฐ์ผ๋ก ์ฎ๊ฒจ์ ํ๋กํ์ผ ํด๋ณด๋๊น gfx.WaitForPresentOnGfxThread๋ WaitForLastPresent << ์ด๊ฒ ์๊ฐ์ ์ง์ง ใ ใด๋ง์ด ๋จน๋๋ผ๊ณ
์กฐ๊ธ ๋ง์ด ๋จน๋ ์ ๋๊ฐ ์๋๋ผ ๊ทธ๋ฅ ํ๋ ์ ์๊ฐ์ ํผ์์ ๊ฑฐ์ ๋ค ๋จน์ ์ ๋๋ก ํผ
๋ญ๊ฐ๋ฌธ์ ์ง ๊ณ์ ๊ฒ์ํ๊ณ ๋ฐ๊ฟ๋ณด๊ณ ํ๋ค๋ณด๋๊น
๋ ์ผ๋ก ์ฐ๋๊ฒ ์์ฒญ ํฐ ์ด๋ฏธ์ง๋ฐ ์ด๊ฑธ ๋นผ๋ฒ๋ฆฌ๋๊น ์ ๊ฒ ๊ฑฐ์ ์น ์ฌ๋ผ์ก์
์์ธํ ์ฌ์ ์ ๋ชป ๋งํ๋๋ฐ ์๋ ์ ๊ฐ๋ฐ ๋ฉ์ถ ๊ฒ์ ์์ ์ ๊ทธ ๊ฒ์ ๊ฐ๋ฐ์ํํ ํ๋ฝ๋ฐ์์ ์ฐ๋๊ฑฐ์.
๋ค๋ฅธ ๊ฒ์ ์์ง(๊ฒ์๋ฉ์ด์ปค)์ด๋ผ ํ์ผ๋งต์ ๊ทธ๋๋ก ๊ฐ์ ธ์ฌ ์๊ฐ ์์ด์ ๊ทธ๋ฅ ๋ฐฐ๊ฒฝ ์ ์ฒด๋ฅผ ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด์ ๋ฃ์๊ฑฐ..
๊ทธ๋์ ์ง๋ฌธ์ ๋ฐฐ๊ฒฝ์ ์ ๋ํฐ ํ์ผ๋งต์ผ๋ก ์ฌ๊ตฌ์ฑํ๋ฉด ์ ๋ณ๋ชฉ์ด ์ฌ๋ผ์ง?
ํ์ผ๋ ํ๋ํ๋ ๋ค ์๊ธฐ๋ ํจ..
์๋๋ฉด ๋ค๋ฅธ ํด๊ฒฐ๋ฐฉ์์ด ์์ผ๋ฉด ์ข ์๋ ค์ฃผ๋ฉด ๊ณ ๋ง๊ฒ ์
์ฌ์ง์ถ๊ฐ
์์๊ฐ size 16384 ๋ฐ์๊ฐ 2048
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ํ๋ ์ 30 ๊ณ ์ ๋ง๊ณ ์ด๋ฏธ์ง ํ์ผ ํฌ๊ธฐ๋ง 53mb์ ํด์๋๋ 16384๋ก ํ์ ์๊ทธ๋ฌ๋ฉด ์๋ง์ด์ผ ํ๋ ์ waitfornextframe ์๊ฐ์ด ๊ฑฐ์ ์๊ณ ์ ๊ฒ ๋ค๋จน์
์ผ๋จ ๋น์ฅ ๊ฒ์ ๋ก์ง์ด ๋ณต์กํ๊ฑด ๋ณ๋ก ์์ด์ ์ด๋ฏธ์ง ์์ด๋ 30ํ๋ ์์ด ๋ง์ถฐ์ง๊ธด ํ๋๋ฐ ํ๋กํ์ผ๋ฌ ์์์ ๋ดค์ ๋ ๊ฑฐ์ 25ms ๊ฐ๊น์ด ๋จน์ด์ ๊ทธ๋ ์ด๋ฏธ์ง ๋นผ๋ฉด 0.1ms ๊ฐ๊น์ด๋ก ํ ์ค์ด๋ค์
๊ทธ ๋ ์ด๋ฏธ์ง๋ฅผ ์ผ์ ํฌ๊ธฐ๋ก ์กฐ๊ฐ์กฐ๊ฐ๋ด์(chunk) ํ๋ ์ด์ด ๊ฐ๊น์ด ์๋ ๊ฒ๋ค๋ง ๋ ๋๋งํ๋๋ก ํด๋ด ๋ง์ธํฌ๋ํํธ๋ ์ด๋ ๊ฒ ํจ
๋น์ทํ ์๊ฐ์ ํ๋๋ฐ ์์ ๋ฒํผ ํ๋ ๋ฃ์ด์ ๋๋ฅด๋ฉด ๋ฐฐ๊ฒฝ์ ๋ด๊ณ ์๋ ๊ฒ์์ค๋ธ์ ํธ๊ฐ ๋นํ์ฑํ๋๊ฒ ํ๋๋ฐ๋ ์ ํ ๋ณํจ์ด ์๋๋ผ
framedebugger์จ์ ๋๋ก์ฝ์ด๋ง์๊ฑด์ง ํจ ํ์ธํด๋ด
์๋ํด๋ณผ๊ฒ ๊ณ ๋ง๋ค
๊ทธ๋ฆฌ๊ณ waitfornextframe์ ๊ทธ๋ฅ ๋ญ๊ฐ ๋ถํ๊ฐํฐ์์ ๋๋๊ธธ ๊ธฐ๋ค๋ฆฌ๋๋ผ ๊ฑธ๋ฆฌ๋ ํ๋ก์ธ์ค์. ๊ธธ์๋ก ๋ญ๊ฐ์ ๋ถํ๊ฐ ํฐ๊ฑฐ. ๊ทธ๋ฆฌ๊ณ ๋ ๋๋งํ์ดํ๋ผ์ธ ๊ณต๋ถํ๋๊ฑธ ์ถ์ฒํจ. ํ์ผ๊ธฐ๋ฐ์ด ์ต์ ํ๋ฐฉ๋ฒ์ด๊ธดํ๋ฐ ๊ทธ๊ฑฐ ์๋ฆฌ๊ฐ๋ญ์ง๋ชจ๋ฅด๋ฉด ๋ง์งฑ ํ๊ฑฐ์. ๋ ๋งํ๋ฉด ์ด๋ฒ๋ฒํ ๊ฑฐ๋ค
๊ทธ๊ฑฐ ์ฝ๋ค๊ฐ ํฌ๊ธฐํ๋๋ฐ ๋ญ๋ผ๋ ์๊ธด ํด์ผ๊ฒ ๋ค ์กฐ์ธ ๊ณ ๋ง๋ค
draw ํ์๋ 43๋ฒ์ด๋ผ๊ณ ๋จ๊ณ Dynamic ์ค ์์์ ๋๋ฒ์งธ์ ์๋๊ฒ ๋ฐฐ๊ฒฝ์ด๋ค ์ฒ์ ์จ๋ด์ ์ก๋คํ ์ ๋ณด๋ ์ ๋ชจ๋ฅด๊ฒ ์
๋๋ ๊ทธ๋ฅ ํ ์ค์ณํ์ฅ์ด๋ผ๊ณ ๋งํ์ง๋ง ์ฌ์ค ์ฟผ๋ ๋ฉ์์ ํ ์ค์ณํ์ฅ๋ถ์ฌ์ ๋ ๋๋๋ ท๋ค๊ณ ๊ทธ๋ ๊ฒ ์ฌํ ๋ถํ๋ ์๊ธฐ์ง ์์. ๋ญ๊ฐ ๊ทธ๊ฑธ๋ก์ธํด ๋ถ๊ฐ์ ์ธ ์์ ์ด์๊ฒป์๊ฐ๋ฅ์ฑ์ด ๋์๋ฐ, ๊ทธ๋ฐ๊ฒ๋ค์ ์ฐพ์๋ด์ผ๋จ. ๋๋ก์ฝ์ด 42๋ฒ์ด๋ผ๊ณ ํ๋๋ฐ ํ ์ค์ณ๋ฅผ ์ฟผ๋ํ์ฅ์๋๋ฆฌ๋ฉด ๊ทธ๊ฒ๋ง์ธ๋ฉด ๋๋ก์ฝํ๋ฒ์. ๋ค๋ฅธ๊ฒ๋ค๋ ์ดํด๋ด์ผ๋ผ. ๊ทผ๋ฐ ๊ทธ๊ฑธ์ดํดํ๊ณ ์์ธ์ฐพ์ผ๋ ค๋ฉด ๋ ๋๋ง์ด์ด์ผ๋๋์ง ์์์ผํ๋ค๊ณ ํ๊ฑฐ๊ณ .
์ฟผ๋์ ํ ์ค์ณ ํ๋ฉด๋ค๋ฎ์ด๋ ๋ ์ค๋ฅด๋ ๋ถํ์ ๋๋ ์ํ๋ธ๋ ๋ฉ๋ถํ์ ๋๋ฐ ์์ฆํฐ์ด์ข์์ ๊ทธ๊ฑด์๋๊ฑฐ๊ณ ๋ญ๊ฐ์์๊ฒจ ๋ค๋ฅธ๊ฒ
๋ฏธ์ํ๋ฐ ์ด๊ฑฐ ์ด๋ ๊ฒ ํ๋ฉด ์ข ๋ถํ๋ฅผ ์ค์ผ ์ ์์๊น 1. ์ ์ฒด ๋ฐฐ๊ฒฝ์ ์ ์ฌ๊ฐํ ๋ชจ์ ํ์ผ ์ฌ๋ฌ๊ฐ๋ก ๋๋๋ค 2. ํ๋ ์ด์ด๊ฐ ์์นํ ํ์ผ๊ณผ ๊ทธ ์ฃผ๋ณ 8๊ฐ (3x3 ์์ญ)ํ์ผ์ ํด๋น ํ์ผ์ ๋ง๋ sprite๋ฅผ ์ค์ ํ๋ค
ํ ์ค์ณ๋ฅผ ๋๋๋คํ๋ค, ๋ง์ฝ ์ฉ๋๋๋ฌธ์ ๊ธํฝ์นด๋๊ฐ ๋๋ ค์ง๋๊ฑฐ๋ผ๋ฉด ์ชผ๊ฐ์ ์ฌ๋ ค๋ดค์ ๋์ฐ๊ฐ์ฐ์ด๋ค. ๊ฒฐ๊ตญ ๋ ๋๋๋ ค๋ฉด ๊ธํฝ์นด๋์ ์ฌ๋ผ๊ฐ์ผํ๋๋ฐ. ์ชผ๊ฐ ๋ค๊ณ ๋ญ ๋ฌ๋ผ์ง์ง ๋๋ ๋ชจ๋ฅด๊ฒ ์. ์์ธ์ ๋ชจ๋ฅด๋๊น. ๋ ํฐ๋ ๋์คํ๋ ์ด ์ฐ๋ ํฐ๋ ํด์๋ ํญ 3์ฒ์ด ์๋๋๋ฐ 1๋ง์ด๋ผ๋. ๊ทธ๋ฐ ํ ์ค์ณ ์จ๋ณธ์ ๋, ์ธ์๊ฐ๋ํด๋ณธ์ ์์. ์ชผ๊ฐ๋์งํ์ง๋ง๊ณ ํ๋ฒ ๊ทธ๋ผ ํด์๋๋ฅผ 2์ฒ์ดํ๋ก ๋ฎ์ถฐ๋ณด๊ณ ๋๋ ค๋ด. ๊ทธ๋์ ๋นจ๋ผ์ง๋ฉด, ์ฉ๋๋๋ฌธ์ผํ ๋๊น
๋๋ ์ด๋ฐ ๋น์ทํ ๊ฒฝ์ฐ ์์ด์ ์ด๋ฏธ์ง๋ฅผ ํต์ง๋ก ์ฐ๋๊ฒ ์๋๋ผ ์งค๋ผ์ ์ป์ด
์ผ๋จ ์๋ผ์๋ผ๋ ํ ๋ฒ ๋ ํด๋ณด๊ณ ์ฌ๊ฒ ์ด์ฉ์๊ฐ ์๋ค
Cpu ์๋ gpu ์์ ๊ธฐ๋ค๋ฆฐ๋ค๋ ๋ป์. cpu์ผ ๋คํ๋๋ฐ gpu ์ผ ๊ธฐ๋ค๋ฆฐ๋ค๊ฑฐ๋ ๋ฐ๋๊ฑฐ๋ ๋๊ฐ ๋ชจ๋ฐ์ผ์ชฝ์ด๋ฉด gpu ๊ฐ ๊ตฌ๋ ค์ ๊ทธ๊ฑฐ ๊ธฐ๋ค๋ฆฌ๋๊ฑฐ
๊ธฐ๊ธฐ ์ฑ๋ฅ์ ์ฌ๋ฆฌ๋ฉด ํด๊ฒฐ๋๊ณ ๋ฑํ ๋ฐฉ๋ฒ์ด์๋๊ฒฝ์ฐ๊ฐ ๋ง์. ์ต์ ํ๋ก ๊ทธ๋ฆผ์ ๋นผ๊ฑฐ๋ ์กฐ๋ช ๋นผ๊ฑฐ๋ ํด์ผ์ง
๋ผ์ดํธ๋งต ๊ตฝ๊ฑฐ๋ ๊ฒฐ๊ตญ ์ต์ ํ๋ฌธ์
ใ ใ ๊ทธ๋ฐ๊ฑฐ๊ฐ์ ์ฐพ์๋ณด๋๊น gpu ์์ ๋๋๊ธฐ๋ฅผ cpu๊ฐ ๊ธฐ๋ค๋ฆฌ๋๊ฑฐ๋ผ๋๋ผ
53๋ฉ๊ฐ์ง๋ฆฌ๋ฅผ ๋์ด๋ค๊ณ ?ใ ใ ์ง์ง ์์๋๊ณ ์ฝํ๋ผํ๋ค ๊ทธ๊ฑฐ ์์ถํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์์ ๊ธฐ๊ฐ๋จ์๋ค
๋ฏธ์ํด.. ๋ฑํ ๊ฒ๊ฐ๋ฐ ์ ๊ณต์ด ์๋๋ผ์ ๋ชฐ๋์ด
ํด์๋ 16384๋ฉด ์ผ๋ฐ์ ์ด์ง ์์๋ฏ. ๋น๋์ฉ๋ ์ผ๋ง๋์ด? ๋ด๊ฐ 4086์ธ๊ฐ ๊ทธ๊ฑธ๋ก ๋ฉ๋ชจ๋ฅด๊ณ ํ๋ค๊ฐ 120๋ฉ๊ฐ์ง๋ฆฌ ํ๋ก์ ํธ ๋น๋ํ์๋ 9๊ธฐ๊ฐ ๋์ค๋๊ฑฐ ๋ณด๊ณ ์ ์ด๊ฑด ์๋๊ตฌ๋ ๋ฐ๋ก ๋๋
16384 ํด์๋๋ฅผ ๋ฃ์ ์ผ์ด ๋ญ๊ฐ์์ด?
์ฌ์ง ๋ฃ์์
๋ชจ๋ฐ์ผ์์ ๋์ธ๊บผ ์๋? ํธ๋ํฐ ์คํฌ๋ฆฐ ์๊ฐํ๊ณ ํด์๋๋ฅผ ์จ์ผ์ง
๋ด์ฉ๋ง ๋ด์๋ ์ฌ๋ผ์ง ๊ฒ ๊ฐ๋ค
ํด์๋๊ฐ ํฌ๋๊น ๊ทธ๋ฌ์ง. ์ชผ๊ฐ์ ํ๋ฉด์์ ๋ค์ด์ฌ๋๋ง ๋ถ๋ถ์ ์ผ๋ก ๋จ๊ฒํด์ผ์ง.