카테고리 없음

메모리 최적화 방법 및 Unity 관련 질문들

이황충 2024. 7. 17. 21:25

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

 

메모리 최적화 방법

  1. 메모리 최적화 방법에 대해 알고 있는 것이 있나요?
    • 게임의 성능을 향상시키기 위해 메모리 사용량을 줄이는 다양한 기법들이 있습니다.

1.1 POT(Power of Two) 텍스쳐에 대해 설명해주세요.

  • POT 텍스쳐는 너비와 높이가 2의 거듭제곱인 텍스쳐로, 그래픽 하드웨어에서 효율적으로 처리됩니다.

1.2 아틀라스에 대해 설명해주세요.

  • 여러 개의 텍스쳐를 하나의 큰 텍스쳐에 합치는 기법으로, 드로우콜을 줄여 성능을 향상시킵니다.

1.3 오브젝트 풀에 대해 설명해주세요.

  • 오브젝트 풀은 자주 생성되고 파괴되는 객체를 미리 생성해 두고 재사용하는 기법으로, 메모리 할당과 해제 비용을 줄입니다.
  1. Unity 내에서 드로우콜을 확인할 수 있나요? 어떤 방법을 통해 확인할 수 있을까요?
    • 네, Unity Profiler를 사용하여 드로우콜을 확인할 수 있습니다.

2.1 배치는 무엇이고 Set Pass Call은 무엇인가요?

  • 배치는 여러 개의 메쉬를 하나로 결합하여 드로우콜을 줄이는 기법이고, Set Pass Call은 셰이더가 GPU에 설정되는 횟수를 의미합니다.
  1. Unity 프로파일러란 무엇이며 어떻게 사용하나요?
    • Unity Profiler는 게임의 성능을 분석하고 최적화할 수 있는 도구로, CPU, GPU, 메모리 사용량 등을 실시간으로 모니터링할 수 있습니다.

유니티 최적화 기법 및 관련 질문들

  1. 유니티 최적화 기법은 어떤 것들이 있나요?
    • 오브젝트 풀링, LOD(Level of Detail), 배치, 라이트맵 베이킹 등이 있습니다.

1.1 최적화를 해본 적이 있나요? 없다면 어떤 최적화가 있는지 설명해주세요.

  • 오브젝트 풀링과 텍스쳐 아틀라스를 사용해보았습니다. 오브젝트 풀링은 메모리 관리에, 텍스쳐 아틀라스는 드로우콜 감소에 효과적입니다.

1.2 최적화에서 가장 중요한 부분은 무엇인가요?

  • 성능 프로파일링을 통해 병목 지점을 찾아내고, 효율적인 리소스 관리를 통해 성능을 최적화하는 것이 중요합니다.

1.3 최적화를 위해서 적용해본 텍스쳐 포맷이 있나요?

  • DXT1, DXT5, ETC2 등의 텍스쳐 압축 포맷을 사용해 텍스쳐 메모리 사용을 줄였습니다.
  1. 드로우콜에 대해서 설명하고, 최적화하는 방식에 대해 알고 있는 것이 있으면 설명하세요.
    • 드로우콜은 GPU에 렌더링 명령을 보내는 작업입니다. 배치와 머지를 통해 드로우콜 수를 줄이고, 셰이더 최적화로 성능을 향상시킬 수 있습니다.
  2. Find 함수 사용을 자제해야 하는 이유에 대해 설명해주세요.
    • Find 함수는 성능 저하를 일으킬 수 있습니다. 오브젝트를 찾을 때마다 전체 씬을 탐색하기 때문에 성능이 떨어집니다.
  3. Update에서 GetComponent와 그 계열의 캐싱을 지양해야하는 이유를 설명하세요.
    • GetComponent는 성능이 떨어지는 함수입니다. 매 프레임마다 호출하면 성능 저하가 발생하므로, Start나 Awake에서 한 번만 호출하고 캐싱하여 사용해야 합니다.