Skip to content

qda-sw/unity-optimization-seminar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity 최적화 세미나

부산대학교 게임개발동아리 Rayer

2025.11.05 ~ 매주 수요일

Unity 프로젝트 최적화 기법을 실습과 이론으로 다루는 세미나입니다.


세미나 내용

1주차: Transform 캐싱이 성능에 미치는 영향

자료: PDF | 실험 데이터 | 시각화

  • Camera.main은 내부적으로 FindGameObjectWithTag를 호출하므로 비용이 높습니다.
  • GameObject.transform의 반복 호출은 C# $\leftrightarrow$ C++ 마샬링/언마샬링 오버헤드를 유발합니다.
  • Transform 캐싱 적용 시 7.5배 성능 개선 (18.87ms $\rightarrow$ 2.50ms)을 달성했습니다.

2주차: Transform 캐싱의 실제 적용

자료: PDF

  • 내부 개발 프로젝트의 VolumetricLight.ShadowsUpdate() 함수에서 Transform 캐싱을 적용했습니다.
  • 30개의 OcclusionCam 오브젝트가 LateUpdate에서 .transform을 반복 접근하여 병목이 발생했습니다.
  • Transform 캐싱으로 69,155배 성능 개선 (2074.66ms $\rightarrow$ 0.03ms)을 달성했습니다.

3주차: MonoBehaviour.Update의 배신

자료: PDF | 결과

  • MonoBehaviour의 Update는 C++ $\rightarrow$ C# 호출 비용이 누적되어 성능 저하를 일으킵니다.
  • 10,000개 Update 호출 시 ManagedBehaviour 구조가 52.3% 성능 개선을 보였습니다.
  • 수천 개 이상의 Update가 필요하다면 C# 레벨의 업데이트 관리 구조를 사용하세요.

4주차: 거리 비교 최적화 기법

자료: 준비 중


핵심 실천 사항

  • Camera.maintransformAwake()/Start()에서 캐싱
  • 반복 사용되는 Vector3 같은 값 타입도 캐싱
  • 다수의 Update 호출이 필요하면 커스텀 관리 시스템 구현

프로젝트 구조

unity-optimization-seminar/
├── 01/  # Transform 캐싱 실험 및 분석
├── 02/  # 실전 적용 사례
├── 03/  # Update 최적화
└── UnityProject/

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors