7 개의 강의

목차

메모리 할당 크기 제한 설정하기

일반적으로 메모리 사용량을 자주 모니터링하는 것이 좋은 방법이지만 많은 게임 제작에는 각 요소에 대해 특정 CPU 및 메모리 예산을 배정하는 경우가 있습니다. 예를 들어 오디오 측면은 전체 사운드 엔진 메모리에서 100MB의 예산을 가진다고 가정 할 수 있으며, 해당 예산을 초과하지 않도록 많은 노력이 필요할 수 있겠죠. 그러나 게임은 상호 작용하기 때문에 예정된 메모리 예산을 초과하는 경우가 생기기도 합니다. 예를 들어, 게임 디자인상 어쩔 수 없이 절차적으로 생성된 에셋을 많이 로드해야 할 수 도 있죠. 따라서 팀의 메모리 예산을 초과하지 않도록 자신의 메모리 사용량에 제한을 설정할 수 있습니다.

[작은 정보]

실제 게임 제작 과정에서는 보이스 최대 수 제한과 같은 기능을 활용하는 것부터 시작하는 것이 가장 좋습니다. 이를 통해 어떤 사운드가 다른 사운드보다 더 여유가 있어야 하는지 결정할 수 있겠죠. Memory Allocation Size Limit은 최후의 수단으로 여겨져야 합니다.

  1. WAG Unity 프로젝트에서 Edit > Project Settings > Wwise Initialization으로 가서 아래에 있는 Memory Allocation Size Limit으로 스크롤하세요. Memory Allocation Size Limit은 Wwise가 사용할 수 있는 총 메모리 양을 제한합니다. 다른 게임 엔진과 달리 Wwise는 메모리 제한을 초과해도 충돌이 발생하지 않습니다. 대신, Profiler에 오류가 나타나지만 이미 메모리에 로드된 사운드는 계속 접근할 수 있습니다. 한도를 설정하고 해당 한도에 도달하면 어떤 일이 일어나는지 살펴봅니다.

  2. Memory Allocation Size Limit에서 제한을 35,000,000으로 설정하세요.

    속성은 바이트 단위로 정의되므로 35,000,000은 35,000KB 또는 35MB를 의미합니다.

  3. Profile Only mode 모드에서 원격 세션에 연결하고 Unity에서 Play를 누르세요.

    Memory Allocation Size 제한은 Wwise의 Memory 탭 범주에 표시됩니다. Wwise Initialization Settings에서 설정한 제한이 35MB가 아닌 33.4MB로 표시되는 이유는 무엇일까요? Wwise의 메모리는 다른 단위 체계로 표시되기 때문입니다 (즉 MiB이지만 사용자 인터페이스에는 MB로 표시됩니다). 따라서 Wwise에서 정확히 35MB로 제한을 설정하려면 Wwise Initialization Settings에서 설정하기 전에 MiB로 변환해야 합니다. DesiredLimit x 1024 x 1024 = ActualLimitNumber.와 같은 공식을 사용할 수 있습니다. 따라서 Wwise에서 제한을 35MB로 설정하려면 Memory Allocation Size 제한을 35 x 1024 x 1024, 또는 36 700 160의 곱으로 설정해야 합니다.

  4. Memory Allocation Size Limit을 36 700 160으로 설정하세요.

  5. 메뉴를 열고 Dungeon으로 순간이동하세요.

  6. 재생 모드를 종료하고 Wwise Profiler를 여세요.

    이제 여러 오류를 볼 수 있습니다. 그 중 하나는 다음과 같습니다:

    Memory allocation failed: ______ bytes in category '______' - media?: no - device?: no - currently allocated ______ / 35000000 bytes

    던전으로 순간이동할 때 Memory Allocation Size Limit이 초과됩니다. Profiler에서 이를 유발한 메모리 범주 등의 정보를 확인할 수 있습니다. 또한 게임이 정지되거나 충돌하지 않는 것을 확인하세요. 일부 요소는 로드되지 않아 들을 수 없겠지만 이미 메모리에 로드된 사운드는 계속 재생됩니다. 게임은 계속 실행되며 메모리 사용량에 대한 제한이 유지됩니다.


이 페이지가 도움이 되었나요?