기술 경험 구체화
그래픽스 수업 프로젝트에서 모바일 환경을 가정한 3D 씬 렌더링 최적화를 진행했습니다. 처음엔 프래그먼트 셰이더에서 과도한 연산이 프레임 드랍의 원인이었는데, GPU 프로파일러로 병목을 확인했습니다. 텍스처 샘플링 횟수를 줄이고 조명 계산을 버텍스 단계로 이동하는 방식으로 부하를 분산했습니다. 또한 복잡한 GLSL 연산 일부를 lookup table로 미리 계산해서 런타임 비용을 줄였습니다. 결과적으로 평균 프레임율이 23fps에서 41fps로 개선됐습니다. 셰이더 최적화에서 가장 중요한 건 어디서 시간이 가장 많이 쓰이는지를 먼저 측정하는 것이라는 걸 이 경험에서 배웠습니다. 이 경험으로 렌더링 최적화는 측정 먼저라는 원칙이 생겼고, 실제 병목을 찾는 능력이 이론보다 중요하다는 걸 배웠습니다.