측정
먼저 Niagara Debugger, stat Niagara, Insights로 병목 위치를 확인합니다.
Frame Time
Particle Count
Optimization Priority
최적화는 감으로 줄이는 작업이 아니라, 측정 결과를 보고 가장 큰 비용부터 제거하는 반복 과정입니다.
먼저 Niagara Debugger, stat Niagara, Insights로 병목 위치를 확인합니다.
Frame Time
Particle Count
쓰지 않는 모듈, 반복 Get, 필요 없는 데이터 인터페이스 호출을 줄입니다.
Remove Module
Reuse Value
비싼 함수와 정규화는 필요한 경우에만 쓰고, 가능한 곳은 단순 연산으로 바꿉니다.
Length Squared
Lerp before Power
Max Particles, LOD Distance, 컬링으로 멀리 있거나 보이지 않는 비용을 줄입니다.
Scalability
Cull by Distance
대량 독립 파티클은 GPU, 게임 로직 연동은 CPU처럼 목적에 맞춰 고릅니다.
GPU Compute
CPU Collision
Spawn Rate, Max Particles 조정
Normalize, Sqrt, Curve 재검토
Overdraw, Sprite Size, Alpha 관리
최적화 후에도 효과의 읽기 쉬운 구조와 아트 의도는 유지해야 합니다. 숫자를 줄인 뒤에는 반드시 같은 카메라 거리, 같은 플랫폼 설정에서 다시 측정합니다.
측정 -> 변경 -> 재측정