unity 그래픽 성능 최적화 관련 팁
- GPU는 종종 필레이트(fillrate) 또는 메모리 대역폭 제한되어 있습니다
- 낮은 해상도로 게임 실행함으로써 빨라졌다면, GPU의 필레이트에 의해 제한되어 있을 가능성이 높습니다.
- CPU는 종종 렌더링되야 하는 배치의 수에 제한됩니다.
- Rendering Statistics 창에서 “batches”를 확인하세요.
게임을 더 빠르게 하기 위한 간단한 체크리스트
- PC 용으로는 타겟 GPU의 스펙에 맞게 정점 수를 20만에서 300만보다 적게합니다.
- 내장 쉐이더를 사용하는 경우, Mobile 또는 Unlit의 카테고리에서 선택합니다. 모바일이 아닌 플랫폼에서도 작동하지만 더 복잡한 쉐이더가 단순화되고 근사화(approximated)된 버전입니다.
- 씬에서 다른 메테리얼의 수가 낮도록 억제합니다 - 서로 다른 오브젝트간에 메테리얼을 최대한 공유합니다.
- Only have a single (preferably directional) pixel light affecting your geometry, rather than multiples.
- Bake lighting rather than using dynamic lighting.
- 가능한한 압축 텍스처 포맷을 사용하고, 그 외의 경우는 32비트보다 16비트를 선택합니다.
- Avoid using fog where possible.
- Occlusion Culling의 장점을 배운 뒤, 복잡하고 static한 씬에 의해 표시되는 지오메트리의 양 및 Batche Batche 드로우콜을 줄일 수 있습니다. 오클루전 컬링의 효과가 나오는 레벨의 설계를 합니다.
- Skybox을 사용하여 멀리 있는 지오메트리를 “진짜처럼 보이게 합니다.”
- 픽셀 쉐이더를 사용하거나 Texture Combiner를 사용하여 다중 패스가 아닌 복수의 텍스처를 믹스합니다.
- Use half precision variables where possible.
- 복잡한 숫자 계산에서는 사용을 최소화하고, 예를 들면 pow, sin, cos 등을 픽셀 쉐이더에서의 사용을 최소화합니다.
- 프라그먼트(Fragment) 당 텍스처를 보다 적어지도록 합니다.
Statistics 창에는 다음 정보가 포함됩니다 : -
Time per frame and FPS
|
하나의 게임 프레임을 처리 및 렌더링하는 데 걸린 시간(및 상호 관계에 있는 프레임/초). 이 숫자는 프레임 업데이트 및 게임 뷰의 렌더링에 걸린 시간만 포함되는 것에 유의하십시오. 에디터가 씬 뷰 인스펙터의 그리기 및 에디터 전용 작업을 수행하는 데 걸린 시간은 포함되지 않습니다.
|
Batches
|
“Batching” is where the engine attempts to combine the rendering of multiple objects into a chunk of memory in order to reduce CPU overhead due to resources switching.
|
Saved by batching
|
Number of batches that was combined. To ensure good batching, you should share materials between different objects as often as possible. Changing rendering states will break up batches into groups with the same states.
|
Tris and Verts
| |
Screen
|
화면 크기, 안티 앨리어싱 레벨 및 메모리 사용량.
|
SetPass
|
렌더링 패스의 수. 각 패스에 대해서 유니티 런타임은 CPU 오버헤드를 가져올 수 있는 새로운 쉐이더를 바인딩한다.
오브젝트가 같다고 해도 사용하는 머터리얼 갯수가 늘러나면 SetPass 숫자가 늘어난다.
|
Visible Skinned Meshes
|
렌더링된 스킨 메쉬 수
|
Animations
|
재생 애니메이션의 수
|
오브젝트의 갯수가 많아질수록 draw call 숫자가 증가 한다.
오브젝트를 맥스에서 attach를 시키면
댓글 없음:
댓글 쓰기