CS

더티 플래그 (Dirty Flag)

khh7052 2025. 8. 8. 21:26
반응형

개념

  • 더티 플래그는 어떤 데이터나 상태가 변경(수정)되었는지 여부를 나타내는 플래그(보통 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 갱신");
    }
}


요약

  • 더티 플래그 = 상태 변경 여부를 나타내는 표시
  • 변경됐을 때만 연산, 렌더, 저장 등 처리해서 성능 향상에 도움됨

반응형

'CS' 카테고리의 다른 글

ANSI  (1) 2025.07.22
유니코드  (1) 2025.07.10
코드 컨벤션 (Code onvention)  (0) 2025.07.07
.NET  (0) 2025.07.07
C#  (0) 2025.07.07