(유니티3D)new Vector3는 힙? 스택?
소소한 배움 / 2017. 12. 17. 11:16
최적화에 대해 계속 알아볼 때 new로 할당하는 Vector3 같은 형을 그냥 쓰지 말고 구조체로 만들어서 쓰면 힙이 아닌 스택에 생성되어 가비지가 쌓이지 않는다는 글을 봤었습니다.
근데 오늘 새로운 글을 찾았습니다.
http://3dmpengines.tistory.com/1566
제가 직접 알아낸게 아니니 링크를 걸고..
여기서 요약하자면 Vector3는 이미 구조체라 가비지가 생기지 않는다는 말 같습니다.
하지만 다른데선... 이라고 생각했더니 이미 저분도 같은 생각을 해서 본인이 직접 실험해보셨네요.
물론 저도 해봤습니다.
업데이트 문에 for문으로 프레임마다 new Vector3를 만번씩 해줬습니다.
정말로 가비지가 생기지 않더군요.
앞으로는 신경 안 쓰고 Vector를 쓸 수 있을거 같습니다.
그리고 저분이 Color까지 실험했는데 마찬가지로 가비지가 생기지 않았다고 하는 것으로 보아 유니티에서 사용하는 일부 형은 구조체인 모양입니다.
앞으로 자주 사용하는데 가비지가 걱정된다면 한 번 실험해서 가비지가 생기는지 보고 생긴다면 그때 따로 구조체로 만들어서 사용하는 것도 괜찮을거 같습니다.
'소소한 배움' 카테고리의 다른 글
Soft Body (Bullet Physics) (0) | 2018.02.24 |
---|---|
후처리(post processing) 개념 (0) | 2018.02.22 |
(유니티3D)JSON 과 AES 암호화 (0) | 2018.02.08 |
변수, 메서드 작명 (0) | 2018.01.12 |
(유니티3D)이벤트 함수의 실행 순서 (0) | 2017.12.17 |