๋ ๋๋ง์ฑ๋ฅ์์ ๊ฐ์ฅ ๋ง์ด ์ก์๋จน๋๊ฒ์ Draw Call ์ ๋๋ค.
๊ทธ๋ฅ ์ด๊ฐ๋จํ๊ฒ ๋งํ์๋ฉด Draw Call์ ๋ง๊ทธ๋๋ก ํ๋์ ์ค๋ธ์ ํธ๋ฅผ ๊ทธ๋ฆฌ๋ Draw ๊ณผ์ ์ ํธ์ถ ํ์ ์ ๋๋ค.
Draw Call Batching์ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฅ ๊ฐ๋จํ๊ฒ C๋ก ์๋ฅผ ๋ค์๋ฉด
const char* str = "Hello World!";
// 1๋ฒ
for(ย int i = 0 ; ย str[i]; i++ )
{
ย ย printf("%c", str[i];
}
// 2๋ฒ
printf("%s", str);
์ด์ ๋์ ์ฐจ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
์์ธํ ์ฌํญ์ ์ ๋ํฐ ๋ฉ๋ด์ผ์ ํ์ธํ์๋ฉด ๋ฉ๋๋ค.
https://docs.unity3d.com/kr/current/Manual/DrawCallBatching.html
์ผ๋จ ๋๋ก์ฐ์ฝ ์ ์ฉ์ ์ฌ์ง ์ ๋๋ค.
๋๋ต 280~ 300 ์ฌ์ด์ fps์ย
๋๋ก์ฐ์ฝ์ด 3761๋ฒ ์ผ์ด๋๋๊ฒ์ ์์ ์์ต๋๋ค.
์ ์ฉ๋ฐฉ๋ฒ์ ๊ฐ๋จํฉ๋๋ค. ๋ด๊ฐ ๋ฐฐ์นญํ๊ธธ ์ํ๋ ์ค๋ธ์ ํธ๋ฅผ ์ ํํ๊ณ ์ธ์คํํฐ์์ Batching Static์ ์ฒดํฌ๋ง ํ์๋ฉด ๋ฉ๋๋ค.
(๋น์ฐํ ํ์ ์ค๋ธ์ ํธ๊น์ง ํฌํจ์ด๋ฉฐ, Mesh Renderer๋ฑ ๋ ๋๋ฌ ์ปดํฌ๋ํธ๊ฐ ์๋๊ฒฝ์ฐ ๋น์ฐํ Batcing์ย ์๋ฏธ ์์ต๋๋ค.)
์ ์ฉ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ฉด ํ๋ ์์ด ๊ฝค๋ ์ฌ๋ผ๊ฐ๊ฒ์ ์์ ์์ต๋๋ค. 100ํ๋ ์ ๊ฐ๊น์ด ์ฌ๋๋ค์.
๋๋ก์ฐ์ฝ๋ 173์ผ๋ก ๊ธฐ์กด๋ณด๋ค ํ์ ํ ์ค์ด๋ ๊ฒ์ ์์ ์์ต๋๋ค.
์ ์ ๋ฐฐ์นญ์ ํ๊ฒ๋๋ฉด, ํด๋น ์ค๋ธ์ ํธ๋ ๋ฐํ์์ค ์ด๋์ฐ์ฐ, ํ์ ์ฐ์ฐ, ์ค์ผ์ผ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ๋ฏ๋ก ๊ทธ์ ์ ์ ํ์๋ฉด ๋ฉ๋๋ค.
๋ฌดํ ๋ฐฉ์ง
์ ๋ณด๊ธ์ ใ ใ
์คํ ํฑ์ด๊ทผ๋ฐ apk์ฉ๋ ๋๋ฆฌ๋๊ฒ๊ฐ๋๋ฐ ๋ง๋์?