ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 최적화 특강
    카테고리 없음 2024. 7. 3. 21:31

    유니티 게임개발캠프 TIL 49일차

     

    유니티 최적화 기법

    FPS (Frames Per Second)

    • FPS는 컴퓨터가 초당 렌더링하는 프레임 수를 의미합니다. FPS가 높을수록 시각적으로 더 부드럽고 성능이 좋아집니다.
    • 밀리세컨드 (MS)당 프레임은 한 프레임을 렌더링하는 데 걸리는 시간을 나타냅니다. 값이 낮을수록 빠르게 렌더링되어 성능이 좋습니다.

    모바일 최적화

    • 모바일 기기에서는 FPS 제한을 걸어주는 것이 중요합니다. 그렇지 않으면 발열이 심해지고 배터리가 빨리 소모되며, 최악의 경우 버벅거림 등의 문제가 발생할 수 있습니다.

    이미지 파일 최적화

    • Power of Two (POT) 텍스처: 이미지의 크기를 2의 제곱수(예: 128x128, 256x256)로 설정하여 메모리 사용과 성능을 최적화합니다.

    배치와 드로우 콜

    • **배치 (Batches)**는 GPU에 요청하는 드로우 콜의 수를 의미합니다. 배치 수를 줄이면 성능이 크게 향상됩니다.

    스프라이트 아틀라스

    • 스프라이트 아틀라스를 사용하여 여러 스프라이트를 하나의 텍스처로 그룹화하면 드로우 콜 수가 줄어들어 성능이 향상됩니다.

    스크립트 최적화 기법

    1. 오브젝트 풀링: 객체를 자주 생성하고 파괴하는 대신 재사용하여 메모리 할당과 가비지 컬렉션 오버헤드를 줄입니다.
    2. Find 메서드(예: GameObject.Find, FindObjectOfType)와 GetComponent를 자주 사용하지 않습니다. 비용이 많이 드는 작업이기 때문입니다.
    3. 사용하지 않는 유니티 이벤트 함수인 Update, FixedUpdate, LateUpdate를 제거하여 성능을 절약합니다.
    4. 불필요한 static 키워드 사용을 피합니다. 이는 메모리 관리 문제와 유연성 감소로 이어질 수 있습니다.
    5. Camera.main을 자주 사용하지 않습니다. 내부적으로 Find 메서드를 호출하기 때문입니다.
    6. 성능이 중요한 코드에서 LINQ를 사용하지 않습니다. 오버헤드가 크기 때문입니다.
    7. 문자열 결합에는 + 연산자 대신 StringBuilder를 사용하여 메모리 할당을 줄이고 성능을 향상시킵니다.

     

Designed by Tistory.