툴/유니티

병목(Bottleneck) 간단 정리

스튜디오 오버그래픽스 2023. 1. 24. 20:21

https://youtu.be/o3o7fVCV4OA

 

최적화를 하기 위해서 프로파일링을 하고 병목을 찾아야함
병목(Bottleneck) - 말 그대로 병의 목처럼 물을 따라도 좁으면 따르게 따를수 없는것 처럼 빨리 처리할수 없는 현상

병목을 찾을때는 먼저 CPU Bound인지 GPU Bound 인지를 찾음

드로우콜(Draw Call) - CPU가 그래픽라이브러리를 통해 GPU에게 해야할 일을 명령하는것

CPU와 GPU는 병렬로 일을 처리함
CPU가 GPU에게 일을 시키고 GPU가 해당 명령을 다 수행한 뒤에 CPU가 다음 일을 하는것이 아님!

CPU가 GPU에게 시킬 일이 있으면 명령을 던져 놓고 CPU는 다음 할일을 함
이때 CPU가 GPU에게 시킬 명령은 Command Buffer를 통해 전달함
GPU는 Command Buffer에서 쌓여있는 명령을 가져와서 순차적으로 수행함
한 프레임을 연산하기 위한 과정에서 GPU 혹은 CPU가 먼저 일을 끝내면 할일 없이 기다리게 됌