개발 TIL

7/4 부트캠프 개발 TIL (Debug의 최적화)

HJTL 2024. 7. 9. 20:20

유니티 에디터에서 스크립트의 변수, 상태 그리고 메서드가 잘 들어갔는지 확인하기 위하여 Debug.Log를 많이 사용하고 있다.

그런데 Debug.Log를 사용해서 확인하는건 좋지만 최적상에서 많은 메모리가 사용되고 있다는 점이다.

실행하면 가비지 컬렉터가 큰 용량을 솟구치다가 아래로 떨어지고 있다. 현재상으로 문제 없어 보이지만 Debug.Log를 많이 사용하고 빌드할 때 성능에 문제가 일어날 수 있다.

 그렇다면 어떻게 콘솔출력창으로 성능을 최적화할까?

 

Debug.Log를 사용하면 에디터에 출력이 되지만 빌드하고 나서도 내용이 출력이 된다.

에디터에만 콘솔출력만 하고 빌드할 때 출력시키고싶지 않는다면 어떻게 해야 할까?

바로 Debug.Assert로 빌드할 때 Debug.Log를 막아주는 것이다.

        Debug.Assert(true);
        Debug.Log("로그1");
        Debug.Log("로그2");
        Debug.Log("로그3");
        Debug.Assert(false);

Assert가 true로 들어와서 에디터에서만 출력이 되고 빌드할 때 실행이 되지 않는다.

반대로 false로 하면 빌드할 때도 실행은 당연히 수행한다.

 

프로그램을 출력할 때 가장 우선순위로 설계하는 방법은 좋은 최적화로 디바이스의 성능을 원활하게 돌아가게 하는 것이다.

 

by 스파르타 코딩클럽