소소한 배움

(유니티3D)new Vector3는 힙? 스택?

무명의 공룡 2017. 12. 17. 11:16

최적화에 대해 계속 알아볼 때 new로 할당하는 Vector3 같은 형을 그냥 쓰지 말고 구조체로 만들어서 쓰면 힙이 아닌 스택에 생성되어 가비지가 쌓이지 않는다는 글을 봤었습니다.


근데 오늘 새로운 글을 찾았습니다.


http://3dmpengines.tistory.com/1566


제가 직접 알아낸게 아니니 링크를 걸고..


여기서 요약하자면 Vector3는 이미 구조체라 가비지가 생기지 않는다는 말 같습니다.


하지만 다른데선... 이라고 생각했더니 이미 저분도 같은 생각을 해서 본인이 직접 실험해보셨네요.


물론 저도 해봤습니다.



업데이트 문에 for문으로 프레임마다 new Vector3를 만번씩 해줬습니다.


정말로 가비지가 생기지 않더군요.


앞으로는 신경 안 쓰고 Vector를 쓸 수 있을거 같습니다.



그리고 저분이 Color까지 실험했는데 마찬가지로 가비지가 생기지 않았다고 하는 것으로 보아 유니티에서 사용하는 일부 형은 구조체인 모양입니다.


앞으로 자주 사용하는데 가비지가 걱정된다면 한 번 실험해서 가비지가 생기는지 보고 생긴다면 그때 따로 구조체로 만들어서 사용하는 것도 괜찮을거 같습니다.