본문으로 건너뛰기
CHOI HONGSU
1 min read

셰이더 메모리 최적화

 

통합 셰이더에서 키워드로 기능을 분기해서, 실제로는 1~2개 옵션만 써도 키워드 경우의 수가 늘어나고 불필요한 베리언트가 포함되는 구조였음

키워드로 기능 분기

기존 통합 셰이더에서 키워드로 기능 분기 → 키워드 경우의 수 증가 → 셰이더 베리언트 증가

(1~2개 옵션만 사용하지만 키워드 on/off 관리가 안 되어 불필요한 기능 포함 → 성능 저하)

변경 기능별로 셰이더 분리 → 키워드 경우의 수 감소 → 셰이더 베리언트 감소

Implementation

  1. 01

    12월 / 3월 메모리 비교

    상 322.4MB / 중 269.1MB / 하 211.4MB

    3달전이랑 비교 550MB ~ 610MB -> 200MB ~ 300MB로 감소

Before / After

메모리 12월 / 3월 비교

 

BEFORE
Before
AFTER
After

중옵

 

BEFORE
Before
AFTER
After

하옵

 

BEFORE
Before
AFTER
After