2012-01-03 25 views
3

我目前在我的遊戲中使用openAl。我得到了內存泄漏,其負責幀是`OpenAL泄漏 - OALSource:AddPlaybackMessage

OALSource:AddPlaybackMessage

`我在做什麼是我的比賽結束後,我刪除分配給源和自由等pcmdata的所有緩衝區指針等等。在開始遊戲之前,我用音頻數據重新初始化源和它們的緩衝區。在這個階段,我得到了這個漏洞。任何想法,爲什麼它的發生.....有些帖子說,它在蘋果的OpenAL庫中的錯誤,但我不這麼認爲..蘋果一定是做了一些事情....

感謝

+0

我得到了同樣的泄漏。我創建併發布了很多聲音來源,並且泄漏發生得非常隨機(可能是10分之1,也可能是50分之1 ...),它發生得越快,我創建和發佈的速度就越快。在官方蘋果論壇上有一個帖子,以及沒有任何反應,以及... – ima747 2012-01-11 04:04:58

+0

這是我的帖子兄弟...但我想通了..檢查下面的答案.. – Tornado 2012-01-12 12:21:47

+0

我整理了我的問題。我不明白,但它是我的聲音文件之一...使用不同的聲音解決了泄漏。在我終於找到一個沒有泄露的文件之前,我試圖重新創建這個文件3次...對我來說沒有任何意義,它會把它當成Apple OpenAL lib問題來解決,但現在看起來已經解決了。 – ima747 2012-01-12 21:11:56

回答

0

OK現在不從的OpenAL得到任何泄漏。什麼我做的是: -

  • 當初始化源再次與它們各自的緩衝區和沒有任何pcmData指針先刪除它們。
  • 重新生成源和緩衝區。
  • 永遠不要刪除openALContext和openALDevice。當你的應用程序啓動時只獲取上下文和設備一次。在Dealloc()上刪除它們。

希望這可以解決您的openAl泄漏問題。

乾杯