본문 바로가기
유니티

[노트] post processing 퍼포먼스 가이드

by Raypop 2019. 3. 6.

가장 무거운 순서부터...

(아이폰6 기준)


Screen Space Reflection

GPU

- low, interation(16) 18.17ms

- low, interation(256) 52.96ms

- high, interation)256) 150.1ms


Eye Adaptation

CPU - 60ms 내외

GPU - 12.55ms


Motion Blur

CPU - 12ms 내외

GPU

- default 10, multiframeblending(off) : 7.53ms

- expensive 32, multiframeblending(on) : 12.42ms


Depth of field

CPU - 5ms 내외

GPU

- medium 7.4ms

- very large 15.64ms


TAA(Temporal Anti-Aliasing)

CPU - 5ms 내외

GPU - 10.6ms

- motion vector : 2.07ms

- depth buffer : 3.25ms

- TAA : 5.28ms


Ambient Occlusion

CPU - 1~2ms 이내 (1pass 로 부하가 거의 없음)

GPU

- Extream Performance : 4.53ms

- default : 4.78ms

- Extream Quality : 5.99ms


Bloom

CPU - 5~7ms

GPU

- default : 1.89ms

- expensive : 2.82ms


FXAA(Fast Approximate Anti-Aliasing)

CPU - 1~2ms 이내 (1pass 로 부하가 거의 없음)

GPU - Preset 에 따라 퍼포먼스가 다름


Chromatic Aberration

CPU - 1~2ms 이내 (Depth,Normal 불필요)

GPU - 2~4ms


Grain

CPU - 1ms 이내 (거의없음)

GPU

- Colored off : 0.42ms

- Colored on : 1.16ms


Color Grading & User Lut

CPU - 거의없음

GPU - 1ms 이내


Vignette

CPU - 거의없음

GPU - 1ms 이내




후처리를 해야 한다면 GPU 처리를 아껴둘 필요가 있음

MultiPass의 수를 줄이는게 좋음

Post Processign 을 완전히 사용하지 않는다면 PostProcessingBehaviour 를 disable 로 하는것이 좋음

- Enable 시 Post Processign 을 하기 위해 RT생성 및 blit 를 추가하게 됨



출처 : https://www.youtube.com/watch?v=nNWRhsOAdB8

'유니티' 카테고리의 다른 글

[노트] 유니티 내장쉐이더 목록  (0) 2018.12.20
[노트] 함수별 최적화  (0) 2018.12.19
[노트] stencil 옵션  (0) 2016.03.17
[노트] 변수 타입  (0) 2015.04.06
[쉐이더노트] RenderType  (0) 2015.01.15