ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 24년 5월 28일 TIL
    공부 기록 2024. 5. 28. 21:21

     

    StringToHash 메서드에 대해

    StringToHash는 주어진 문자열을 해시 값으로 변환한다. 이 해시 값은 문자열을 직접 비교하는 것보다 훨씬 빠르게 비교할 수 있다. 게임 개발에서 특히 유용하다.

     

    Unity에서 Animator.StringToHash 메서드는 애니메이션 상태나 파라미터 이름을 해쉬 값으로 변환한다. 이를 통해 애니메이션 상태 전환 시 성능을 향상시킬 수 있다.

     

    StringToHash를 사용해야 하는 이유

    1. 성능 향상: 문자열 비교는 비용이 많이 들지만, 정수 값 비교는 훨씬 효율적이다.
    2. 일관성 유지: 해시 값을 사용하면 문자열 오타로 인한 버그를 줄일 수 있다.
    3. 메모리 절약: 해시 값을 사용하면 문자열을 직접 저장할 필요가 없어 메모리를 절약할 수 있다.

     

    주의사항

    StringToHash 메서드를 사용할 때 유의할 점:

    • 해시 충돌: 해시 충돌 가능성은 매우 낮지만, 완전히 배제할 수는 없다. 중요한 로직에서는 추가적인 검증이 필요할 수 있다.
    • 읽기 전용 사용: 해시 값은 읽기 전용으로 사용하고, 원본 문자열이 필요할 경우 별도로 저장해두는 것이 좋다.

     

    결론

    StringToHash 메서드는 게임 개발에서 성능 최적화의 중요한 도구다. 특히 애니메이션 상태 전환과 같은 빈번한 문자열 비교 작업에서 유용하게 사용될 수 있다. 이를 통해 성능을 향상시키고, 코드의 일관성을 유지할 수 있다. 문자열연산은 비용이 상당히 크다.

    그리고 단방향 함수로써 문자열에서 해쉬값으로 바꿀 수만 있고 해쉬값에서 문자열로 다시 바꿀 수는 없다. 이로 인해 보안성이 좋다. 비밀번호 같은 것을 해쉬값으로 저장을 해서 안전성을 높일 수 있다.

    '공부 기록' 카테고리의 다른 글

    24년 5월 30일 TIL  (0) 2024.05.30
    24년 5월 29일 TIL  (1) 2024.05.29
    24년 5월 27일 TIL  (0) 2024.05.27
    24년 5월 25일 TIL  (0) 2024.05.25
    24년 5월 24일 TIL  (0) 2024.05.24
Designed by Tistory.