Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

AltStyle によって変換されたページ (->オリジナル) /