상세정보
미리보기
레트로의 유니티 성능 최적화
- 저자
- 이제민 저
- 출판사
- 한빛미디어
- 출판일
- 2026-03-09
- 등록일
- 2026-04-30
- 파일포맷
- PDF
- 파일크기
- 15MB
- 공급사
- 예스이십사
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
프로파일링부터 병목 제거까지, 쾌적한 플레이를 만드는 유니티 최적화 실전 가이드프레임 드롭, 발열, 이유 없는 버벅임. 유니티 개발자라면 누구나 한 번쯤 마주하는 문제입니다. 이 책은 유니티 프로젝트에서 발생하는 성능 문제를 감이 아닌 구조와 지표로 바라보는 방법을 제시합니다. 프로파일링을 통해 병목을 찾고 수집한 데이터를 바탕으로 무엇을 어떻게 최적화해야 하는지를 판단하도록 안내합니다. 이 과정에서 CPU·GPU·메모리의 관계를 이해하며 상황에 맞는 선택 기준을 세울 수 있도록 돕습니다. 이 책은 단편적인 팁이 아닌 실무에서 다시 써먹을 수 있는 사고방식을 정리한 실전 가이드입니다. 성능을 책임져야 하는 유니티 개발자라면 반드시 곁에 두고 반복해서 읽어보세요.
저자소개
유니티에서 파트너 엔지니어로 근무하며 전 세계 다양한 게임 개발사의 최적화 작업과 난해한 기술 문제 해결을 지원하고 있습니다. <승리의 여신: 니케> 프로젝트에서는 애니메이션과 물리 구현, 최적화를 담당했습니다. 또한 레트로(retr0)라는 이름으로 활동하며 수천 명의 개발자를 대상으로 게임 개발 교육을 진행해온 트레이너이기도 합니다. 유니티 개발 입문의 정석으로 꼽히는『레트로의 유니티 6 게임 프로그래밍 에센스』를 집필했으며 유튜브 채널을 통해 생생한 개발 노하우를 공유하고 있습니다.
목차
1장 최적화 준비하기1.1 최적화 사전 준비1.2 최적화 워크플로1.3 창의적인 접근1.4 정리하기 2장 유니티 프로파일러2.1 유니티 프로파일러 기본 사용법2.2 프로파일러 모듈2.3 CPU 모듈 소개2.4 샘플2.5 프로파일러 마커2.6 차트 보기2.7 모듈 세부 정보 창 툴바2.8 콜 스택 설정2.9 다른 프로파일러 모듈들2.10 정리하기 3장 스레드와 병목3.1 스레드3.2 메인 스레드3.3 렌더 스레드3.4 워커 스레드(잡 스레드)3.5 기타 스레드들3.6 병목 스레드 찾기3.7 병목 지점을 찾는 다른 방법들3.8 정리하기 4장 그래픽스 명령어와 배칭4.1 그래픽스 명령어4.2 렌더 파이프라인 상태4.3 렌더링 병목의 이해4.4 드로우 콜 최적화4.5 SRP 배처4.6 배치 우선순위4.7 정리하기 5장 프레임 디버거5.1 프레임 디버거란5.2 프레임 디버거 사용하기5.3 정보 패널5.4 정리하기 6장 iOS GPU 프로파일링6.1 GPU 프레임 캡처하기6.2 요약 뷰6.3 디펜던시 뷰6.4 퍼포먼스 뷰6.5 메모리 뷰6.6 파이프라인 상태 살펴보기6.7 정리하기 7장 메모리 구조의 이해7.1 iOS 메모리 구조와 동작 원리7.2 유니티의 메모리 구조7.3 정리하기 8장 유니티 메모리 프로파일러8.1 메모리 프로파일러 설치8.2 스냅샷 캡처하기8.3 메모리 프로파일러 창8.4 메모리 요약 탭8.5 유니티 오브젝트8.6 전체 메모리8.7 상세 정보8.8 스냅샷 비교하기8.9 정리하기 9장 iOS 네이티브 메모리 프로파일러9.1 네이티브 메모리 프로파일러가 필요한 경우9.2 Xcode 프로젝트 설정9.3 Instruments Allocations 프로젝트 생성9.4 VM Tracker 살펴보기9.5 Allocations 살펴보기9.6 정리하기 10장 프로젝트 설정 최적화10.1 그래픽스 관련 설정10.2 셰이더 베리언트 로딩 설정10.3 스크립팅 설정10.4 코드 스트립10.5 물리 설정10.6 발열 제어를 위한 Idle 타임 확보10.7 기타 프로젝트 설정 최적화10.8 정리하기 11장 에셋 최적화11.1 오디오 클립11.2 텍스처11.3 메시 설정11.4 애니메이션 클립 최적화하기11.5 파티클 시스템11.6 Resources 폴더 사용하지 않기11.7 BSON 사용하기11.8 스프라이트 아틀라스 사용하기11.9 정리하기 12장 셰이더 베리언트 최적화12.1 셰이더 베리언트12.2 셰이더 베리언트 추적하기12.3 셰이더 베리언트 최적화하기12.4 Project Auditor 로 셰이더 베리언트 추적하기12.5 정리하기 13장 C# 스크립트 최적화13.1 문자열 조합을 최적화하기13.2 CompareTag()로 태그 비교하기13.3 식별자로 문자열 대신 해시 사용하기13.4 정적 데이터의 enum을 문자열로 다루지 않기13.5 Find 계열 메서드 줄이기13.6 런타임에 AddComponent 사용하지 않기13.7 빈 유니티 이벤트 제거하기13.8 할당이 없는 물리 캐스트 API 사용하기13.9 트랜스폼 연산을 한 번에 수행하기13.10 conditional 디버그 로그13.11 Fake null 유의하기13.12 오브젝트 풀 사용하기13.13 런타임에 리플렉션 자제하기13.14 계산 결과 캐싱하기13.15 잡 시스템 활용하기13.16 구조체 사용하기13.17 데이터 지향 설계와 SoA 사용하기13.18 DOTS 소개13.19 정리하기 부록 유니티 AI를 활용한 최적화A.1 사전 준비 사항A.2 프로젝트 설정 분석하기A.3 에셋 점검하기A.4 프로파일링 데이터를 AI 에게 분석시키기