반응형
개념
- 더티 플래그는 어떤 데이터나 상태가 변경(수정)되었는지 여부를 나타내는 플래그(보통 bool 변수).
- 변경된 경우(더티 상태)만 연산, 갱신, 저장 등을 하도록 하여 불필요한 처리 비용을 줄이는 최적화 기법이다.
왜 쓰는가?
- 매 프레임 또는 매번 연산할 때 매번 전체를 처리하면 성능 낭비가 크다.
- 변경된 부분만 골라서 업데이트하면 효율적이다.
Unity에서 예시
- 게임 내 캐릭터 스탯이 변할 때마다 isDirty = true 표시.
- 스탯 UI는 isDirty가 true일 때만 갱신.
- 갱신 후 isDirty = false로 초기화.
public class PlayerStats : MonoBehaviour
{
private int health;
private bool isDirty = false;
public int Health
{
get => health;
set
{
if (health != value)
{
health = value;
isDirty = true; // 변경됨 표시
}
}
}
void Update()
{
if (isDirty)
{
UpdateUI();
isDirty = false;
}
}
void UpdateUI()
{
// UI 갱신 처리
Debug.Log("UI 갱신");
}
}
요약
- 더티 플래그 = 상태 변경 여부를 나타내는 표시
- 변경됐을 때만 연산, 렌더, 저장 등 처리해서 성능 향상에 도움됨
반응형