Profiler Tools - zzragida/UnityDocs GitHub Wiki
Unity application profile tools
- Unity Profiler
- Unity Technology
- Mali Graphics Debugger
- Adreno Profiler
- PerfHUD ES
- PVRTun, PVR Trace
- DS-5 Streamline
- Android Studio Device Monitor
- Xcode Instruments
์ ๋ํฐ ํ๋กํ์ผ๋ฌ(Unity Profiler)
-
CPU ์ฌ์ฉ๋ ์์ญ
- Total : ์ ํํ ํจ์์ ๊ด๋ จ๋ ๋ชจ๋ ํจ์์ ์ฌ์ฉ๋ฅ ์ ๋ณด์ฌ์ค
- Self : ์ ํํ ํจ์์ ํ์ ๋ ์ฌ์ฉ๋ฅ ์ ๋ณด์ฌ์ค
- Calls : ํจ์๊ฐ ๋ช ๋ฒ ํธ์ถ๋๋์ง ๋ณด์ฌ์ค
- GC Alloc : ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ํด ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ์์ ๋ณด์ฌ์ค
- Time ms : ์ ํํ ํจ์์ ๊ด๋ จ๋ ๋ชจ๋ ํจ์์ ์ํ ์๊ฐ์ ํ์
- Self ms : ํจ์์ ์ํ ์๊ฐ์ ํ์
- Object : ํจ์๊ฐ ์ํ ๊ฒ์ ์ค๋ธ์ ํธ๋ฅผ ํ์
-
GPU ์ฌ์ฉ๋ ์์ญ
- Total : ์ ํํ ํจ์์ ๊ด๋ จ๋ ๋ชจ๋ ํจ์์ ์ฌ์ฉ๋ฅ ์ ๋ณด์ฌ์ค
- DrawCalls : ์ ํํ ํจ์์์ ๋ฐ์ํ ๋๋ก์ฐ ์ฝ ํ์๋ฅผ ๋ณด์ฌ์ค
- GPU ms : ์ ํํ ํจ์์์ ๋ฐ์ํ GPU ์ํ ์๊ฐ์ ๋ณด์ฌ์ค
- Object : ์ ํํ ํจ์์ ๊ด๋ จ๋ ๊ฒ์ ์ค๋ธ์ ํธ๋ฅผ ๋ณด์ฌ์ค
-
Rendering ์์ญ
- ๋๋ก์ฐ ์ฝ ํ์(Draw Calls)
- ๋๋ก์ฐ ์ฝ์ด๋ ๋ฌผ์ฒด๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ํด์ ๊ทธ๋ํฝ API๋ฅผ ํธ์ถํ๋ ์์ .
- ๊ทธ๋ํฝ API๋ฅผ ํธ์ถํ๋ ์์ ์ ๋ถํ๊ฐ ํฐ ์์ ์ด๋ฏ๋ก ์ด๋ฅผ ์ต์ํํ๋ ๊ฒ์ด ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์ด
- ์ผ๊ฐํ ์(Tris)
- ํ์ฌ ํ๋ ์์์ ์ฌ์ฉํ๊ณ ์๋ ์ผ๊ฐ๋ฉด์ ์๋ฅผ ๋ณด์ฌ์ค
- ์ ์ ์ ์(Verts)
- ํ์ฌ ํ๋ ์์์ ์ฌ์ฉํ๊ณ ์๋ ์ ์ ์ ์๋ฅผ ๋ณด์ฌ์ค
- ๋ฐฐ์น๋ ๋๋ก์ฐ ์ฝ ์(Batched Draw Calls)
- ๋๋ก์ฐ ์ฝ์ ํ์๋ฅผ ์ต์ํํ๊ธฐ ์ํด ๊ฐ์ ๋ฉ์์ ์ฌ์ง์ ์ฌ์ฉํ๋ ๋ฌผ์ฒด๋ค์ ๋ชจ์์ ์ด๋ค์ ํ ๋ฒ์ ๋๋ก์ฐ ์ฝ๋ก ๊ทธ๋ฆด ์ ์๊ฒ ์ต์ ํ๋ฅผ ์ํํจ.
- ์ด ํญ๋ชฉ์ ๊ฐ์ ๋จธํฐ๋ฆฌ์ผ์ ์ฌ์ฉํด ์ ์ฝ๋ ๋๋ก์ฐ ์ฝ ์์น๋ฅผ ์๋ฏธํ๋ฉฐ ์ด ์์น๊ฐ ๋์์๋ก ์ต์ ํ๋ ์ค๊ณ๊ฐ ์๋ผ ์์์ ์๋ฏธํจ.
- ์ฌ์ฉํ ํ
์ค์ฒ ์(Used Textures)
- ํ์ฌ ํ๋ฉด์ ๊ทธ๋ฆฌ๊ธฐ ์ํด ์ฌ์ฉ๋ ํ ์ค์ฒ์ ์ด ํ ์ค์ฒ๋ค์ด ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ณด์ฌ์ค
- ๋ ๋ ํ
์ค์ฒ ์(Render Textures)
- ์ฌ์ฉํ ๋ ๋ ํ ์ค์ฒ์ ์์ ํฌ๊ธฐ, ๊ทธ๋ฆฌ๊ณ ํ์ฌ ํ๋ ์์์ ์ผ๋ง๋ ๋ง์ ๋ ๋ ํ ์ค์ฒ๋ค์ด ๊ต์ฒด(Switches) ๋๋์ง๋ฅผ ๋ณด์ฌ์ค.
- ๋ ๋ ํ ์ค์ฒ๋ ์ฃผ๋ก ํฌ์คํธ ์ด๋ฏธ์ง ์ดํํธ์์ ๋ง์ด ์ฌ์ฉ๋จ.
- ์คํฌ๋ฆฐ(Screen)
- ํ๋ฉด์ ํฌ๊ธฐ์ ํ๋ฉด์ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ์ ์์ ํ์
- ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋(VRAM usage)
- ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ์ ์์ ์ถ์ ํด ๋ณด์ฌ์ค
- ์ ์ ๋ฒํผ์ ์์ ํฌ๊ธฐ(VBO total)
- ๋ฉ์๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ ์ ๋ณด๋ค์ ์งํฉ์ ์ ์ ๋ฒํผ(Vertex Buffer Object)๋ผ๊ณ ํ๋ฉฐ, ๋ฌผ์ฒด์ ์๋งํผ ์ ์ ๋ฒํผ๊ฐ ๋ง๋ค์ด์ง.
- ์์ ์ซ์๋ ์ ์ ๋ฒํผ์ ๊ฐ์๋ฅผ ๋ํ๋ด๊ณ , ๋ค์ ์ซ์๋ ๋น๋์ค ์นด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ ์ ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ๋ํ๋
- ๊ทธ๋ฆผ์ ์์ฑ์์ ์(Shadow Casters)
- ๊ทธ๋ฆผ์๋ฅผ ์์ฑํ๋ ๋ฌผ์ฒด์ ์๋ฅผ ๋ณด์ฌ์ค
- ์คํจ๋ ๋ฉ์์ ๊ฐ์(Visible Skinned Meshes)
- ํ์ฌ ๋ณด์ฌ์ง๋ ์คํจ๋ ๋ฉ์๋ ๋๋ฌ ์ปดํฌ๋ํธ์ ์๋ฅผ ๋ํ๋
- ์คํฌ๋ ์์ ์ ์ฐ์ฐ๋์ด ๋ง์ผ๋ฏ๋ก ์ด ์์น๋ฅผ ์ต๋ํ ์ค์ฌ์ผ ํจ
- ์ ๋๋ฉ์ด์
์(Animations)
- ํ์ฌ ๋์ํ๊ณ ์๋ ์ ๋๋ฉ์ด์ ์๋ฅผ ๋ณด์ฌ์ค
- ๋๋ก์ฐ ์ฝ ํ์(Draw Calls)
-
Memory ์์ญ
- ์ฌ๊ณผ ์์ ์์ ๊ฐ๊ฐ ์ผ๋ง๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๋ค์ด ์ฌ์ฉ๋๋์ง ๋ณด์ฌ์ค
-
Audio ์์ญ
- Playing Sources
- ์ ํํ ํ๋ ์์์ ๋์ํ๋ ์ค๋์ค ์์ค์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- Paused Sources
- ์ ํํ ํ๋ ์์์ ์ ์ ์ค์ง๋ ์ค๋์ค ์์ค์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- Audio Voices
- ์ ํํ ํ๋ ์์์ ์ฌ์ฉ๋๋ ์๋ฆฌ์ ์๋ฅผ ๋ณด์ฌ์ค
- Audio CPU Usage
- ์ค๋์ค ์ฌ์์ ์ฐ์ธ CPU์ ์ฌ์ฉ๋ฅ ์ ๋ณด์ฌ์ค
- Audio Memory
- ์ค๋์ค ์์ง์์ ์ฌ์ฉํ๋ ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ์์ ๋ณด์ฌ์ค
- Max Audio Memory Usage
- ์ค๋์ค ์์ง์์ ์ฌ์ฉํ๋ ์ต๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ณด์ฌ์ค
- Playing Sources
-
Physics ์์ญ
- Active Rigidbodies
- ํ๋ ์ค์ธ ๋ฆฌ์ง๋๋ฐ๋์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- Sleeping Rigidbodies
- ํด๋ฉด ์ค์ธ ๋ฆฌ์ง๋๋ฐ๋์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- Number of Contacts
- ์ถฉ๋์ฒด ์ฌ์ด์ ๋ฐ์ํ ์ถฉ๋์ (Contact Point)์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- Static Colliders
- ์ฌ ๋ด์ ๋ฆฌ์ง๋๋ฐ๋๊ฐ ์๋ ๊ณ ์ ๋ ์ถฉ๋์ฒด์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- Dynamic Colliders
- ๋ฆฌ์ง๋๋ฐ๋๋ฅผ ๊ฐ์ง๊ณ ์์ง์ด๊ณ ์๋ ์ถฉ๋์ฒด์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- Active Rigidbodies
-
Internal Profiler
- iOS, Android์ ๋ด์ฅ ํ๋กํ์ผ๋ฌ ์ค์ ์ ํตํด์ ๋ณด์ฌ์ง๋ ๋ด์ฉ
- cpu-player
- ํ์ฌ ์์ง๊ณผ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ CPU ์๊ฐ์ ๋ณด์ฌ์ค.
- ๋จ์๋ ๋ฐ๋ฆฌ์ด
- cpu-ogles-drv
- OpenGL/ES ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ์ ์ฌ์ฉํ CPU ์๊ฐ์ ๋ณด์ฌ์ค
- ๋๋ก์ฐ ์ฝ๊ณผ ๋ ๋ ์ํ(Render State) ๋ณ๊ฒฝ ๊ฐ์ CPU์์ GPU๋ก ์์ ์ ์ด๋ํ๊ธฐ ์ ์ ์ค๋น ๊ณผ์ ์ ์์๋ ์๊ฐ์ ๋ํ๋
- cpu-wait-gpu
- GPU๊ฐ ์์ ์ ๋๋ผ ๋๊น์ง CPU๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ ๋ณด์ฌ์ค
- ์ด ์์น๊ฐ ๋์์๋ก ๋ ๋๋ง ์์ GPU์ ์ฑ๋ฅ์ ๋นํด ๊ณผ๋ํ๊ฒ ์ค์ ๋ ๊ฒ์ ์๋ฏธ
- 3๋ณด๋ค ํฌ๋ฉด ์ด ์์น๋ฅผ ๋ฎ์ถ๊ฒ ๋ ธ๋ ฅํด์ผ ํจ
- cpu-present
- GPU๊ฐ ์์ ํ ๋ฐฑ ํ๋ ์ ๋ฒํผ๋ฅผ ํ๋ฉด์ ์ฐ๋ ํ๋ก ํธ ๋ฒํฐ๋ก ๋ณ๊ฒฝํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋ณด์ฌ์ค
- frametime
- ํ๋ ์ ์ ์์ ๊ฑธ๋ฆฐ ์๊ฐ์ ๋ณด์ฌ์ค
- draw-call
- ๋๋ก์ฐ ์ฝ์ด ๋ฐ์ํ ํ์๋ฅผ ๋ณด์ฌ์ค
- tris
- ๋ ๋๋ง์ ์ฌ์ฉ๋ ์ผ๊ฐ๋ฉด์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- verts
- ๋ ๋๋ง์ ์ฌ์ฉ๋ ์ ์ ์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- batched
- ๋ฐฐ์นญ๋ ๋๋ก์ฐ ์ฝ์ ๊ฐ์๋ฅผ ๋ณด์ฌ์ค
- physix
- ๋ฌผ๋ฆฌ ์์ง์ด ์ฌ์ฉ๋ ์๊ฐ์ ๋ํ๋
- animation
- ๋ณธ ์ ๋๋ฉ์ด์ ์ ์ฌ์ฉ๋ ์๊ฐ์ ๋ํ๋
- culling
- ์์ผ ์ ๋์ฒด ์ปฌ๋ง ์์ ์ ์์๋ ์๊ฐ์ ๋ํ๋
- skinning
- ์คํค๋ ์ ๋๋ฉ์ด์ ์์ ์ ์์๋ ์๊ฐ์ ๋ณด์ฌ์ค
- batching
- ๋ฐฐ์นญ์ ์์๋ ์๊ฐ์ ๋ณด์ฌ์ค
- render
- ๊ฒ์ ์ค๋ธ์ ํธ๋ค์ ๋ ๋๋งํ๋ ๋ฐ ์์๋ ์๊ฐ์ ๋ํ๋
- fixed-update-count
- ํ๋ ์ ์ฌ์ด์ FixedUpdate ํจ์๊ฐ ๋ช ๋ฒ ์ํ๋๋์ง ๋ณด์ฌ์ค
- update
- Update ํจ์์ ์คํ์ ์์๋ ์๊ฐ์ ๋ณด์ฌ์ค
- fixedupdate
- FixedUpdate ํจ์์ ์คํ์ ์์๋ ์๊ฐ์ ๋ณด์ฌ์ค
- FixedUpdate ํจ์๋ ๊ธฐ๋ณธ์ผ๋ก 0.02์ด๋ง๋ค ์ค์ ๋๋ ์์ฃผ ์คํ๋๋ ํจ์
- ์ด ์์น๋ ์ต๋ํ ์ค์ฌ์ผ ํจ
- coroutines
- ์ฝ๋ฃจํด์ ์คํ์ ์์๋ ์๊ฐ์ ๋ณด์ฌ์ค
- allocated heap
- ๊ฐ๋น์ง ์ปฌ๋ ํฐ์ ์ํด ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋์ ๋ณด์ฌ์ค
- used heap
- ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ์ฉ๋๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ๋ณด์ฌ์ค
- max number of collection
- ์ต๊ทผ 30ํ๋ ์ ์ด๋ด์ ์งํํ ๊ฐ๋น์ง ์ฝ๋ ์ ์ ํ์๋ฅผ ๋ณด์ฌ์ค
- collection total duration
- ๊ฐ๋น์ง ์ฝ๋ ์ ์ ์์๋ ์๊ฐ์ ๋ณด์ฌ์ค