Bug in FreeaudioAudio?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

sinjin

Betreff: Bug in FreeaudioAudio?

BeitragSa, Okt 09, 2021 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man FreeAudioAudio benutzt und wenn man ständig nen neuen Sample lädt...bzw das Modul räumt nie auf. Ein Beispiel (achte auf den Speicher im Taskmanager, das GC-Modul scheint davon nicht betroffen und andere Treiber funktionieren):

Code: [AUSKLAPPEN]

superstrict
'import brl.audio
'import brl.directsoundaudio
'import brl.freeaudioaudio 'memory leak! causes program not to run at some point
'import brl.openalaudio
'import brl.wavloader
'import brl.oggloader

local ad$[]=audiodrivers()
for local a%=0 until ad.length
  print ad[a]
next

'setaudiodriver "OpenAL"
'setaudiodriver "DirectSound"
setaudiodriver "FreeAudio" 'memory leak! causes program not to run at some point
local nullsample:taudiosample=createaudiosample(4,11025,sf_mono8)'stereo16le)
local nullsound:tsound=loadsound(nullsample)
local s:tsound

local chn:tchannel[4] 'just one causes the error too
for local a%=0 until chn.length
  chn[a]=allocchannel()
next
local chnr%

repeat
'  stopchannel chn[chnr]
  s=loadsound("\blitzmax\complete\all tomorrows\chapter 16\temptor.ogg")
'  pausechannel chn[chnr]
'  cuesound nullsound,chn[chnr] 'i found out that if you play a smaller sample on each channel it reduces the allocated memory, just not for freeaudioaudio
  chnr=(1+chnr) mod chn.length
  print "playing channel "+chnr
  playsound s,chn[chnr]
'  cuesound s,chn[chnr]
'  resumechannel chn[chnr]
  if input() then exit
forever


Ich denke je größer die Datei, desto eher stürzt es ab, bei mir schon bei 2 Megabyte im RAM(Taskmanager), man muss also schon öfters Return drücken im Beispiel. Dennoch, stelle dir ein Spiel vor das ständig neue Musik lädt, schon nach ~50 Bildschirmen würde es abschmieren.
Gibts nen einfachen Fix? Ich nutze immer noch BMax 1.50. Denke mal das Modul hat sich nicht geändert.
Gibt STOPCHANNEL den Speicher frei? Wenn ich stopchannel benutze höre ich nach 4 Mal(chn.length) bei einigen Treibern gar nichts mehr. Und selbst nach 4096 Channels ist Schluss Very Happy Stopped oder nicht gestoppt. (Das Maximum steht leider nicht in der Doku, scheint aber 4096 Channels zu sein).
Und auch warum ich Freeaudio so mag, das kann bis ein vielfaches von Abspielsamples(Hertz) wiedegeben, wogegen DirectAudio und OpenAL nur 4x der normalen Abspielgeschwindigkeit können. Wundert mich ein wenig von OpenAL aber oke Very Happy

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group