3 개의 강의

목차

압축된 데이터 디코딩하기

최적화는 보통 게임 제작 후반부에 이뤄지는 경우가 많습니다. 게임의 프레임 레이트가 떨어질 경우 전반적인 경험에 큰 타격을 주기 때문에 최적화는 정말 중요한 요소라고 할 수 있습니다. 플레이 중에 게임 시스템이 처리해야 하는 작업은 수도 없이 많습니다. Vorbis로 인코딩된 미디어를 압축 해제하는 것도 처리해야 하는 작업 중 하나죠. Vorbis로 인코딩된 미디어의 압축을 푸는 데에 필요한 처리량을 줄이려면 AkBank 컴포넌트에서 제공하는 Decode compressed data (압축된 데이터 디코딩하기) 기능을 사용하실 수 있습니다.

이 기능은 SoundBank를 로딩할 때 Vorbis로 인코딩된 모든 미디어를 디코딩하기 때문에, 게임이 동일한 Event를 다시 게시하더라도 리소스를 더 사용할 필요가 없습니다. 이 옵션을 사용하면 사용하지 않을 때보다 메모리에서 SoundBank의 크기가 커져서 처음부터 PCM 인코딩을 사용하는 것과 동일한 크기가 됩니다. 그렇다면 왜 처음부터 PCM을 사용하지 않는 걸까요? 예를 들어 다운로드용 게임에서는 배포를 쉽게 하기 위해서 SoundBank의 크기를 작게 유지한 다음 게임이 로드된 후 SoundBank가 디코딩되도록 하는 것이 좋겠죠. SoundBank의 디코딩된 크기는 변환 후 SoundBank Manager에서 확인하실 수 있습니다.

Dungeon SoundBank는 압축 해제 후 데이터 크기가 가장 많이 변하는 Region SoundBank이기 때문에 이 SoundBank의 압축을 풀어서 크기를 비교해봅시다. 다음 단계에서는 먼저 압축을 풀기 전의 데이터 크기를 모니터링한 다음 Decode compressed data 옵션을 활성화해서 변경된 데이터 크기를 모니터링해봅시다.

  1. Unity 메뉴에서 Audiokinetic > Certification > 301 > Lesson 3으로 가서 Decompressing SoundBanks를 선택하세요.

    SoundBank가 압축된 데이터를 디코딩하도록 설정하기 전에 먼저 현재 메모리 사용량을 프로파일링해봅시다.

  2. Wwise에서 Remote를 클릭하세요.

  3. Remote Connections 창에서 Wwise Adventure Game (Editor) 를 선택한 후 Connect를 클릭하세요.

  4. Unity에서 Play를 클릭하세요.

    게임이 초기화되면 Play 모드를 다시 종료하세요.

  5. ESC를 눌러 WAG 메뉴를 연 후 Play를 다시 클릭해서 Play 모드를 종료하세요.

  6. Wwise 메뉴에서 Layouts를 클릭하고 Profiler를 선택하세요.

  7. Advanced Profiler에서 SoundBanks 탭을 선택하세요.

  8. Performance Monitor에서 시간 커서를 몇 초 정도 뒤로 드래그하세요.

    Dungeon SoundBank는 약 2.4MB의 메모리를 사용하고 있습니다.

    이제 로드가 된 후 SoundBank를 디코딩해봅시다. Dungeon SoundBank는 L3_2 - Dungeon Audio Environment Scene에 있는 Wwise 게임 오브젝트에서 찾으실 수 있습니다.

  9. Unity의 Hierarchy에서 L3_2 - Dungeon Audio Environment Scene으로 간 후 Wwise 게임 오브젝트를 선택하세요.

  10. Inspector의 AkBank 컴포넌트에서 Decode compressed data를 선택하세요.

    이제 Decode compressed data 옵션이 활성화됩니다. 그 아래 'Save decoded bank' 매개 변수(parameter)가 보이는데, 이 매개 변수는 비활성화한 채로 유지해야 합니다. SoundBank를 디코딩하면 디코딩된 데이터가 메모리로 이동됩니다.

    [참고]

    Decode compressed data 옵션은 SoundBank에서 Vorbis나 Opus로 설정된 음원만 디코딩할 수 있습니다. SoundBank에서 Vorbis로 인코딩된 미디어가 없을 경우 아무 효과가 없습니다. 자세한 내용은 인스펙터에서 AkBank 사용하기을 참고하세요.

  11. Play를 클릭하세요.

  12. Wwise에 계속 연결된 상태인지 확인하세요. 그렇지 않다면 Reconnect를 클릭하세요.

    Advanced Profiler의 Memory 탭으로 가서 Name 열에 Dungeon SoundBank가 더 이상 있지 않은 것을 확인해보세요.

    이는 압축 해제를 하기 때문입니다. SoundBank는 더 많은 메모리를 사용하지만 게임 플레이 중에 Vorbis 및 Opus 인코딩 미디어를 디코딩하기 위해서 CPU 리소스를 사용하지 않습니디. 그래서 게임이 보다 매끄럽게 돌아갈 것입니다.


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