I posted awhile back about a sound crackling problem when using v1.7.1, then went back to v1.7.0 to avoid the problem. Lately I’ve been using v1.7.2 and notice the same sound crackling problem. I recompiled under 1.7.0 again to check and no problems. Did something change with the OpenAl since v1.7.0 ? or maybe I have some older driver or something ? Seem like nobody else has this problem. So in short my sound sounds good in v1.7.0 but crackly in anything newer.
Maybe it’s a problem that your frame rate is too low to keep the sound buffer filled? Does the sound improve if you do something like render.hide() to improve the frame rate?
I do render->hide() and there is no sound crackle. When I show everything and at my initial position looking at the whole scene (terrain) and get 60 fps I have no sound problem. But if I move my camera around (still looking at center of terrain) the crackle come in and fps just drops a little 56 to 59 fps. If I move in closer to the objects in the scene ( lake with water, trees, switch in with LOD and start task and shader) I can get the crackle too, and fps can drop to 20 to 30 fps, and can crackle even when I don’t move camera. V1.7.0 did not have any problems when I move camera or when I drop to 20 fps. When I was playing with all this months ago using v1.7.1, I would remove objects and tasks and shaders to see if I could find some relationship, seem removing some things did help, but v1.7.0 didn’t have a problem…
That is indeed odd. What’s even odder is I don’t see any changes (other than changes in comments and the like) in the audio subsystem, or in the OpenAL interface specifically, between 1.7.0 and 1.7.1.
So whatever it is that’s making this difference, it’s pretty subtle.
I removed all objects from the scene except for the 512x512 terrain (using set_bruteforce(true)) and it still gets the crackle sounds, sometimes when I don’t move the camera it makes the sound too, but always when I move the camera it will make it. I did a flatten_strong to see what that would do and it fixed the crackle, except for when I click on the terrain and do a collision traverse, takes longer to calculate (I reposition my look_at to where I mouse click) and it crackles while it’s doing the collision traverse. I don’t want to flatten my terrain though so I put it back the way it was.
One more odd thing happening to me is that sometimes when my display comes up I’ll get a big fps drop; this happened in the v1.7.0 version too. This has been happening to my program since forever, but only once in every 5 runs or so. I don’t change anything in the code or scene and sometimes I’ll get 20 fps instead of the usual 58 to 60 fps; but now get this, I just noticed that the sound doesn’t crackle when this happens, even with all objects and moving my camera, and even when I move into a busy part of the scene with trees and water; fps can drop to 8 in this case when I have this weird initial fps drop. Maybe it’s just my computer or code… but then v1.7.0 didn’t ever crackle the sound, just had the occasional fps drop at the start.
I have the source for both version and can play with things and see what happens; maybe it’s just this 2004 Dell Dimension 8400 computer, got a pretty good graphics card for that time any way, and also sound blaster.
Sorry for the weird problem
I just added my sound file and GeoMip terrain to the Demo-Nature.py program, also left in the original terrain which is an egg file. I didn’t hear any crackle until I rotated the camera and my terrain came into view, and then it crackled like crazy, if rotate so it is out of the picture then sound is good.
I re-sized my terrain to be 513x513 too but that didn’t fix anything.
I set my environment Path variables to point to C:\Panda3D-1.7.0\python;C:\Panda3D-1.7.0\bin instead of version 1.7.2 and everything sounds good, no crackle when my terrain is in view. Was there a change in GeoMipTerrain ? Again maybe this is only happening on my computer, I should get a new one sometime … ha. I have a work laptop that is an Alien Ware, maybe I should try putting the program on there and see what I get.
Oh well, the sound issue isn’t a big one right now, but I’ll try it on another computer.
I think I fixed the sound crackle problem on my system.
I did windiff on folders between 1.7.0 and 1.7.2 (since 1.7.0 didn’t have the problem) and found that the thirdparty\win-libs-vc9\openal had differences. 1.7.0 uses pandaopenal32.dll and pandawrap_oal.dll and 1.7.2 uses OpenAL32.dll; when I remove the OpenAL32.dll from C:\Panda3D-1.7.2\bin and add pandaopenal32.dll and pandawrap_oal.dll there instead, then my program works fine with no sound problems. Again this may be just happening on my system since I don’t see any other posts about this. But now I’m back in business with good sound on v1.7.2. When I get a new PC, I’ll try putting things back to the original 1.7.2 OpenAL32.dll and see if sound works. Here is my current (4 yr old) system’s info:
Dell Dimension 8400 Intel Pentium 4 processor 540 3.2GHx w/HT Tech, 1MB cache, DZ7BR61
1GB DDR2 SDRAM at 400MHz
256MB Nvidia GeForce 6800
Sound Blaster Live 24-bit Advanced HD Audio, 100dB/Dolby Digital/96KHz/7.1
Windows XP Home, service pack 2