일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 성능
- LeetCode
- AI
- Design
- JPS
- 길 찾기
- 프로그래밍
- desgin
- Algorithm
- Factory
- A*
- 유니티
- 디자인 패턴
- 인공지능
- 패턴
- GetComponet
- 게임
- 알고리즘
- pattern
- 디자인패턴
- 개발
- C++
- 팩토리
- 문제풀이
- Unity
- 디자인
- 2번
- 강의
- 머신러닝
- ML Agent
Archives
- Today
- Total
Game Development
Unity GetComponent 위치에 따른 비용 비교 본문
GetComponet 위치에 따른 비용!
해당 실험은 오브젝트 들어가 있는 Componet의 순서에 따라 GetComponet의 속도의 변화를 측정합니다.
테스트 방식
해당 테스트는 천 번 Getcompoent를 호출할 때 까지 드는 시간을 측정합니다.
총 한 오브젝트에 Componet는 10개가 들어있고 이 중에서 특정 Componet를 불러오도록 하겠습니다.
테스트의 차이는 다음과 같습니다.
1. GetComponet로 접근할 Compoent가 오브젝트 제일 위에 있습니다.
2. GetComponet로 접근할 Compoent가 오브젝트 제일 밑에 있습니다.
시작
아래의 소스코드를 통하여 각각의 상황에서 드는 시간을 비교해보도록 하겠습니다!
private void Awake()
{
sw.Start();
int len = 10000000;
TestScript testScript;
for ( int i = 0; i < len; i++ )
{
testScript = obj.GetComponent<TestScript>();
}
sw.Stop();
UnityEngine.Debug.Log(sw.ElapsedMilliseconds);
}
속도 비교
스크립트가 위에 있을 경우 | 스크립트가 제일 밑에 있을 경우 |
1475 ms | 1836 ms |
결과
해당 결과를 보고 조금 놀라웠다. 머리속으로는 당연히 생각하고 있었지만 진짜였기 떄문에 재미있는 실험이였다.
시간의 차이는 큰 차이가 보이지 않으니 개발 환경이 편한쪽으로 하는것이 좋을거 같다.
'Unity > Performance' 카테고리의 다른 글
C# Generic Enum Type을 효율적으로 Int로 변환시켜보자 (0) | 2022.10.05 |
---|---|
Unity Dictionary ContainsKey 와 TryGetValue 비교 (0) | 2021.07.01 |
Unity 자식 클래스 참조 성능 비교 (0) | 2021.06.29 |
Unity Update 호출할 때, 사용되는 비용! (0) | 2021.06.26 |
Unity 반복문 성능 비교 (0) | 2021.06.25 |
Comments