[Unity] 스크립팅 최적화 (2) - GameObject의 문자열 프로퍼티
2023. 5. 17.
GameObject에서 정보 가져오기 유니티 게임오브젝트에서 해당 오브젝트의 정보를 문자열로 알아내는 방법은 두 가지가 있다. 바로 문자열 프로퍼티, tag와 name이다. 그런데 유니티 공식 문서에서는 해당 프로퍼티의 사용을 조심하라고 한다. 이것이 왜 문제가 된다는 것일까? 문자열 프로퍼티의 전달 방식 문제는 게임오브젝트의 name과 tag가 문자열 객체를 생성한 뒤 전달한다는 것으로부터 출발된다. 이 때문에 비교할 때마다 GC가 할당되고 이는 프레임 드랍으로 이어진다. (아래의 예시에서 GC Spike를 볼 수 있다.) 다행히 name은 런타임 중에 자주 사용할 일이 없다. 그러나 tag의 경우 얘기가 다르다. 오브젝트 비교를 위해 흔히 사용되는 것이 tag이다. 그렇다면 이러한 위험성을 감수하고 ..