일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 전주비빔 라이스 버거
- shader
- 2023 구글 클라우드
- 1일차
- 2023 Gaming
- 구글 컨퍼런스
- 리팩터링 4장
- 작계훈련
- 공부
- 이득우의 언리얼 프로그래밍1
- unity
- 리팩터링 3장
- 448일선
- GenAI
- 산토리 하이볼
- 스포일러 주의
- 리팩터링
- 112일선
- 2023 게이밍
- 주식단테
- 언리얼5
- JavaScript
- 2023 게이밍 인 구글 클라우드
- 스즈메의 문단속
- URP
- 상계9동
- 주식
- 이득우의 언리얼 프로그래밍 1
- 언리얼 5
- 224일선
- Today
- Total
개발 이야기 안하는 개발자
Unity Profile(추가 작업할것) 본문
https://learn.unity.com/tutorial/diagnosing-performance-problems-2019-3#60457716edbc2a08f8930462
26까지 했음
유니티 프로파일 열기
CPU 사용률 프로파일러
총 8.48ms
그림1
타임라인 / 하이어라키 / 로우 하이어라키가 있다.
보통 타임라인으로 그래프를 보고, 문제가 되는 곳에서 하이어라키로 열어서 어떤 메소드가 사용되는지 확인해본다.
왼쪽은 하이어라키 구조로 열었을때 모습.
EditorLoop는 해당 게임을 에디터에서 실행해서 유니티가 잡아먹는 영역이다(빌드하면 영향을 안줌)
보면 RenderPipelineManager가 제일 많고,
Update문이 1.5%를 사용하는것을 볼 수있다.
업데이트문 안에서 어떤 메소드를 쓰는지 까지 볼 수 있다.
그림2
코딩하는 내용들과 렌더연산 커맨드 정도가 메인 쓰레드에서 돈다.
렌더 쓰레드에선 URP나 메인 쓰레드에서 연산된 Gfx렌더연산 커맨드를 기다린다. (커맨드가 떨어지면 연산 시작함)
왼쪽인 렌더 쓰레드인데
메인 쓰레드에서 커맨드 기다리고,
레이스 컨디션을 막기위한 세마퓨어가 존재한다.
그림3
늘렸다 줄였다 하며 해당 프로파일의 크기를 조절한다.
VSync - 수직 동기화 (화면 주사율과 게임 프레임을 맞춰주는 작업_Tearing 방지)
유니티 프로파일러 창에서 VSync를 볼 수 있다.
이때, 하이어라키 뷰에서 Wait For Target이라는 함수들은 모두 VSync를 기다리고 있음을 의미한다.
VSync를 모든 플랫폼에서 비활성화 할 수 없지만, 프로파일링 중에 비활성화해서 결과를 볼 수 있다.
편집 > 프로젝트. 설정 > 퀄리티
렌더링 프로파일링
CPU - 그릴 대상을 결정한다.
GPU - 그림을 그린다.
CPU가 렌더링하는데 오래걸리면 CPU bound, GPU가 렌더링하는데 오래걸리면 GPU bound
Overhead = 전체 프레임시간 - 활성화됐다 추정되는 모든 지속시간
GPU 프로파일러 데이터가 오버헤드를 발생시킬 수 있다는 뜻.
GPU 프로파일러가 작동 안하는 그래픽카드가 있을 수도 있다.
GPU가 CPU보다 수치가 높으면
GPU 바인딩이다.
'Unity > Unity_Knowledge' 카테고리의 다른 글
UNITY MARS (1) | 2023.04.11 |
---|---|
투명앱 만들어보기 (0) | 2023.04.11 |
추가 공부중...JOB(공부 끝나면 수정할 것) (1) | 2023.04.11 |
PAD (2) | 2023.04.11 |