카테고리 없음

Unity) 최적화

Juzdalua 2024. 5. 31. 20:01

1. Update, FixedUpdate 함수 내에서 새로운 변수를 만들지 마라.

전역변수로 선언하고 사용해야한다.

매번 함수가 호출될 때 마다 새로운 변수를 생성하여 낭비를 초래한다.

 

2. GetComponent<T>로 매번 호출하는 것은 비효율적이다.

가능하다면 Serializable 필드로 선언하여 오브젝트를 주입하자.

 

3. 동일한 맥락으로 메인카메라에 접근시 전역변수를 생성하고 Camera.main을 스크립트 초기화시 변수에 주입하자.

Transform에도 접근시 전역변수를 선언하고 주입하여 사용하는 것이 효율적이다.

private Camera mainCam;
private Transform myTransform;

void Awake(){
	mainCam = Camera.main;
    myTransform = transform;
}

 

4. 사용하지 않는 기본 함수들은 내용이 비어있어도 선언되어 있을시 리소스가 낭비된다.

아래와 같은 상황에서는 함수를 지우자.

void Awake(){}
void Start(){}
void Update(){}

 

참고)