2016-08-08 3 views
1

Monogame 엔진을 사용하여 게임을 만들고 있는데 MediaPlayer를 사용하여 배경 음악을 재생하고 있습니다. 어떤 노래를 재생하던간에 스위치를 켜면 사전로드 된 노래 일지라도 '성능 및 진단 도구'를 사용하여 몇 MB 씩 램 사용량이 증가하는 것을 볼 수 있습니다. 노래가 많이 바뀌면 문제가 될 수 있습니다. 가능한 한 컴퓨터 리소스를 최대한 적게 사용하도록하고 싶습니다.MediaPlayer가 노래를 전환 할 때 램 사용이 증가합니다 (Monogame C#)

Song song1; 
Song song2; 

protected override void LoadContent() 
     { 
      song1 = Content.Load<Song>("song1"); 
      song2 = Content.Load<Song>("song2"); 
     } 

void updateMusic() 
     { 
      if (gameState == "lvl1") { MediaPlayer.Play(song1); } 
      else if (gameState == "lvl2") { MediaPlayer.Play(song2);} 
     } 

답변

1

(3.5)를 사용하고 있던 MonoGame의 현재 버전이 도청되어 있으며 메모리 관리 문제가 있습니다. MonoGame 버전 3.4로 전환하면로드 및 언로드가 올바르게 작동합니다.

0

RAM 사용량을 늘리지 않으려면 새 노래로 변경 한 후 현재 노래를 언로드해야합니다. 그게 문제가 아니더라도, 그 노래를 다시 또는 가까운 장래에 사용하지 않을 계획이라면 어쨌든 그렇게해야합니다. 그리고 한 무리의 노래를로드하고 그 사이를 전환하면 어떻게되는지 테스트 해 보셨습니까? 이 두 곡을 전환 할 때 사용량이 급격히 증가한다고해서 반드시 더 많은 곡 사이를 전환 할 때 사용량이 지속적으로 늘어나는 것은 아닙니다.