목차
메모리 사용량을 줄이는 또 다른 방법은 바로 오디오 파일 전체를 동시에 게임 시스템의 RAM에 올리지 않는 것입니다. 대신 스트리밍을 사용하면 광 디스크나 하드 드라이브와 같은 저장된 메모리에서 직접 오디오를 재생할 수 있습니다. 이 옵션은 게임 개발자가 메모리를 관리할 수 있는 또 다른 전략을 제공합니다. 스트리밍 사용은 각 게임의 기술적인 요구에 따라 달라지는데, 스트리밍은 특히 음악 같이 길이가 몇 분 정도 되는 큰 오디오 파일에 효과적입니다.
스트리밍의 단점은 게임 엔진이 사운드를 호출할 경우 파일을 찾아서 스트리밍을 시작하는 데에 시간이 걸리기 때문에 사운드가 시작되기 전에 잠시 끊기는 현상이 생길 수 있다는 점입니다. 얼음 보석 발사 소리의 경우 스트리밍이 알맞게 작동하지 않겠지만, 지속적으로 재생되는 환경음이나 음악의 경우 문제없이 작동할 수 있습니다. 스트리밍의 또 다른 한계는 바로 동시에 스트림에서 읽을 수 있는 데이터의 총량에 기술적인 한계가 있으며 해당 스트림의 대역폭을 놓고 동영상 같은 게임의 시각적인 부분과 경쟁이 벌어질 수 있다는 점입니다.
Cube에서 스트리밍을 하면 DCP_the_core SoundBank가 메모리 예산을 초과하지 않을 것입니다. Cube Main Theme 음악이 이전 강의에서 DCP_the_core SoundBank에 추가했던 DCP_Music Event로 트리거된다는 점 기억하시나요? 현재 DCP_the_core SoundBank는 메모리 예산을 초과하고 있습니다. 음악을 스트리밍하면 음질을 변경하지 않고 메모리 사용량을 줄일 수 있습니다.
-
Designer 레이아웃에서 Cube Main Theme 오브젝트를 선택한 후 Property Editor의 General Settings 탭이 선택되었는지 확인하세요.
-
Property Editor에서 Stream 체크 상자를 선택하세요.
이제 다른 스트리밍 속성이 표시되는데 스트리밍을 시작하는 데에 걸리는 레이턴시를 최소화하고자 하는 것이 아니라면 이 매개 변수를 변경할 필요가 없습니다.
일부 오브젝트를 포함시키지 않고 스트리밍을 사용함으로써 절약한 메모리를 확인하려면 SoundBank 레이아웃에서 SoundBank를 생성해야 합니다.
-
SoundBank 레이아웃을 선택한 후 Generate All을 클릭하세요.
음악을 스트리밍하는 것이 정말 큰 영향을 주었네요! 29,000,000 바이트만큼 초과했던 DCP_the_core SoundBank가 이제 6,000,000 바이트 예산의 반 정도만 사용하고 있습니다.