본문 바로가기

유니티 최적화 팁 GPU들은 자체적으로 "텍스쳐 캐시기능"을 통해메모리로 부터의 "텍스쳐 로딩으로 인한 부하"를 줄여 성능을 향상시키게 되어 있습니다. 모바일의 경우 "GPU제조자에서 권장"하는"텍스쳐 포맷을 사용"하면 캐시 적중률이 높아져속도의 향상을 얻게 되며 특히 GPU 성능이 약한 스마트폰 기기에서는 큰차이가 납니다. 다른 좋은 참고 글 :http://www.gamedevforever.com/333 더보기
batching [ 배칭 ] 우선 [Batch] 라는 단어에는 "일괄" 이라는 뜻이 있습니다.또 운영체제 운용기법에 일괄처리(Batch Processing)시스템을 보자면일정량 또는 일정기간 도안 데이터를 모아서 한꺼번에 처리하는 방식을 뜻합니다. 대충 어떤 작업인지 감이 오시죠? -유니티에는 현재 씬의 상황을 판단해 자동으로 드로우 콜을 줄이게 최적화 하는 기능들을 제공하는데 이를 배칭이라 합니다. * Edit > project Settings > Player 에서 설정 [정적 배칭]* 정적배칭을 사용하면 Static으로 설정된 게임오브젝트에서 동일한 재질을 사용하는 물체가 있는 경우 유니티는 이들을 자동으로 하나의 메시로 통합 관리합니다. - 정적 배칭은 움직이지 않는 물체에 대해 지정하면 자동으로 수행됩니다. [동적 배칭]*동.. 더보기
Texture Atlas 텍스쳐 아틀라스 같은 종류의 재질을 사용하는 게임오브젝트라도 각기다른 texture를 사용한다면 "개별로 재질을 설정해야해 전체적인 드로우 콜이 증가"한다! 이런경우 4개의 텍스쳐를 "하나로 합친 큰 텍스쳐"를 만들어 "4개의 물체가 이를 공유"하게 설정하면 드로우 콜을 줄일수 있습니다! 우리는 여러개의 텍스쳐가 합쳐진 텍스쳐를 "텍스쳐 아틀라스(Texture Atlas)"라고 합니다.아틀라스 텍스쳐를 사용한 후 "CombineChildren컴포넌트"를 사용해 최종드로우 콜을 1로 줄일 수 잇습니다. NGUI쓸때 보통 텍스쳐 아틀라스에 들어갈 수 있는 만큼 재질을 넣어놓고모든 UI는 한개의 텍스쳐아틀라스를 이용한다.또 텍스쳐 아틀라스가 여러개일 경우 서로 뎁스가 달라질 수 있으므로처음 설계시 고려하여야 한다. 위에 사진.. 더보기
Draw Call 드로우 콜 [ Draw Call 드로우 콜 ] 프레임 제작을 위한 전체공정에서 가장 눈여겨 볼 부분은 CPU에서 그래픽 API 호출을 통해GPU에 렌더링 작업을 명령하는 과정입니다.이러한 그래픽 API 호출을 드로우 콜(DRAW CALL) 이라고 합니다. 드로우콜은 게임오브젝트에 설정된 재질의 셰이더패스당 하나씩 일어나며 렌더러에 여러개의 재질을 사용하면마설정된 재질의 수만큼 드로우 콜이 발생합니다( 재질 = 매트리얼) 드로우콜은 게임오브젝트당 발생(같은 재질이라도!!!!) 드로우콜이 발생을 최소화하는 가장 좋은 방법은 성질이 동일한 물체들은 하나의 메시와 재질로 사용하게 통합하는 것입니다. 더보기
유니티 최적화 기본 -1 [유니티 최적화 기본 - 1] - 렌더링 프로세스를 진행하는 과정에서 발생되는 병목 현상을 파악 한 후 이를 제거하는 작업을 최적화라 한다. - 프레임 단위로 화면을 그리는 작업을 반복적으로 수행! - 드로우 콜 : 프레임 제작을 위한 전체공정에서 가장 눈여겨볼 부분은 CPU에서 그래픽 API 호출을 통해 GPU렌더링 작업을 명령하는 과정입니다, 이러한 과정을 그래픽 API호출 드로우 콜(Draw Call) 이라고 합니다. 드로우 콜은 게임 오브젝트에 설정된 재질의 셰이더 패스당 하나씩 일어나며 렌더러에 여러개의 재질을 사용하면 설정된 재질의 수 많은 드로우 콜이 발생합니다. ( 재질 = 머트리얼 ) 같은 재질이라도 드로우 콜은 게임오브젝트당 발생 드로우 콜의 발생을 최소화 하는 가장 좋은 방법은 성질이.. 더보기