빌드 세팅에서 Autoconnect Profiler 를 체크한 뒤 Build And Run 을 선택하면 앱이 실행됐을 때 프로파일러가 자동으로 Attach 된다.

만약 Autoconnect Profiler 를 체크하지 않고 실행했거나 앱을 종료했다가 다시 실행한 경우처럼 프로파일러가 Attach 되어 있지 않은 경우 수동으로 해줄 수 있다. 예로 OS 가 윈도우인 경우 다음처럼 해주자.

 

cmd 실행 -> 안드로이드 SDK 디렉토리로 이동 -> 다음 명령문 실행

자신의 SDK 디렉토리> cd platform-tools
자신의 SDK 디렉토리\platform-tools> adb forward tcp:54999 localabstract:Unity-패키지명

패키지명은 예로 com.my.app

'유니티 - 이것저것' 카테고리의 다른 글

유니티를 유니티답게 사용하려면  (3) 2016.06.08
에셋번들 기초  (0) 2016.02.04
에셋 기초  (0) 2016.02.01
Invoke 와 Coroutine 주의사항  (0) 2016.01.23
Frustum Testing  (0) 2016.01.09
Posted by 카코데몬
,

최적화는 비효율적인 부분을 좀 더 효율적으로 바꾸는 작업이다.

최적화에 있어 가장 중요한 것은 최적화하려는 대상이 정말 비효율적이냐는 것이다. 비효율적인지를 판단하는데에 자신의 경험도 중요하지만 프로파일러같은 툴을 이용하는 것이 낫다. 섵부른 최적화는 대상의 복잡도만 증가시키고 그다지 효율적이진 못한 결과를 낳게 된다. 툴을 이용하면 이런 사태를 줄일 수 있다.

최적화는 많은 경우에서 트레이드 오프 특성이 나타난다. 예를 들어 드로우콜 비용을 줄이기 위해 Static Batching 을 사용했다고 해보자. 이는 렌더링 속도를 높이는 대신 메모리를 낭비하는 결과를 낳는다. 최적화가 다른 부분을 비효율적으로 바꿀 수 있는지, 그렇다 했을 때 어느 쪽이 더 가치가 있는지를 판단해야 한다.

클라이언트 사이드에서 최적화는 단지 프로그래머만의 몫은 아니다. 최적화에 관한 가이드라인을 정하고 프로그래머, 아티스트, 디자이너 등의 여러 직군들이 이를 공유하고 숙지하며 작업에 임해야 한다. 최소 사양 하드웨어가 무엇이고 텍스처 크기 제한은 얼마이며 몬스터는 최대 몇 명이 등장해야 하는 지 등에 대한 기준을 정한 뒤 작업을 진행하도록 하자.

프로파일링은 자주 하는 것이 좋다. 프로파일링을 자주 하면 최적화 하려는 대상이 언제, 어떻게 비효율적으로 되었는지를 보다 쉽게 유추할 수 있다.

Posted by 카코데몬
,

한 프레임에 Update 함수는 단 한번 호출되지만 FixedUpdate 는 한번 이상이 호출될 수 있다.

따라서 FixedUpdate 에서 오래 걸리는 연산을 최소화할 필요가 있다. 물리에 영향을 주는 요소만 FixedUpdate 함수에서 수정을 하고 나머지 로직은 최대한 Update 함수에서 처리하도록 하자.

Posted by 카코데몬
,