|
|||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
#1 |
|
Guest
Posts: n/a
|
Fix for audio-related stuttering (A real solution to HD...)
*******************************************
******** UPDATED (29 November 2005) ********** ******************************************* Thanks to jong. He has created a page dedicated exclusively to this tweak. Also he has redesigned cfg files and he has added very many sounds that I did not have time to put. Now the method is much more robust and comprehensible: http://www.jong.pwp.blueyonder.co.uk/hl2/index.htm ******************************************* ******************************************* Original post: Hello, before nothing to request pardon by my possible errors with the English, I am Spanish and I am using an automatic translator, since I must say too many things in very just a short time. It is not the first time that I write in this forum to say that I solved my problems with stuttering, but possibly there are people who did not read to me. I am not a person who comes to say that never had stuttering. After some updates of the game, or after reinstall Windows or some application, stutter appear and I was able to solve it. In addition, as I like HL2 very much, I have not stopped until being able to play without pauses of any type. There are several keys in this, and are important to use as all of them. 1. LATENCY In many configurations of the operating system, very great differences between the latencies of the video card, sound card and bus IDE, can cause stuttering. The solution is to use a program from Windows that allows to modify the latencies and to put them all to 32. 2. AUTOSAVE Autosave only causes problems. There are two types of autosave, first is the one that activates whenever a level begins. This autosave can deactivate with the command of the console sv_autosave = "0". I recommend set the command in the autoexec.cfg file. Second type is the one that activates with different triggers placed by the levels. To deactivate these triggers is much more complicated, but it has compensates enormous. Many readings are eliminated to the hard disk and solves enough stuttering. In order to do it, you must use the GcfScape to extract maps files. These maps must be placed in the maps folder. When the game detects that the maps are in that folder, it uses those files instead of which are in gcf. This way we can make modifications in the maps that we will play. The only problem is that if the game observes that the maps have been modified, it will deactivate the IA or will give an error. In order to avoid that the game verifies the maps, it is necessary to add two lines more autoexec.cfg: ai_disable "0" norebuildgraph "1" (now I am not safe of how is typed this command, verify it) Now already we can edit the maps with a hexadecimal editor (I recommend free Hexedit 2.0) and look for the string "autosave" and "save". Those strings must be changed by spaces and of that form we will eliminate all autosaves of the game. 3. HEAPSIZE Littlebloomers is mistaken. Heapsize no longer is limited 512 mg. That was certain from an old update to the penultimate update. Now heapsize does not have limit. In this case, which matters to us is that we have sufficient size in heap to keep the sound files that we need. Of all heap, are reserved 25% for sounds. I have heapsize = 2000000 (2 GB) and then reserve 500 mb for sounds. It is important to know that all heapsize will not be used by the game, for that reason we do not have to be scared to put heapsize greater than our amount of real memory. A good way to choose heapsize is to be proving. We can begin with a size somewhat smaller than our physical memory, to fill the cache of sounds to the maximum (25% of heapsize), to load a level of biggest, and with Ctrl+Alt+Supr to see how many memory is using the game. It is very important to have heapsize greatest possible to be able to use the following trick. 4. PRELOADING SOUNDS The more constant accesses to hard disc while playing HL2 are sound files accesses. Using forcepreload commands is not a good way. This commands force to preload sounds by order, not by necessity. So, this preload incorrect sounds in each level. Is better set forcepreload commands to "0" and use this tweak. There are a tweak from myself to preload sounds. It's to create .cfg files that preload necessary sounds. It's possible to create a .cfg for each level, but then we need to exec the .cfg file before play each level. How many .cfg files are needed? This depends of your heapsize. Actually I have 2 Gb of ram, my heapsize is 2 Gb too. I only have 2 .cfg files named Chapter_1to6.cfg and Chapter_7to12.cfg. Executing one of two before playing, I can play 6 chapters without any hard disk access (only for level load, quickly). It's possible extract Chapters cfg from .gcf. This .cfg only have the "map XXXX" command, refered to the first level of chapter. We can set "exec our_cfg" (exec Chapter_1to6.cfg in my case) command before the map command. So, we can start every chapter from start game menu, and automatically sounds are preloaded. Let's see how can create this preload .cfg files. Start HL2 (- console in the launching options, this is important). Then use command "snd_memasync". This command list the sounds that are loaded. In this point the result must be 0 files (0 kb used). Then start a level and play some minutes. Return to console and "snd_memasync". This listed all sounds that are loaded (needed) during this play time. Then we have to select all elements and copy. Go to a .doc document and paste list. Now we need to edit this list to convert in a .cfg file. In each line we have to put play command and each sound and a stopsound command for each two plays, in this way: play npc/voice/blalbla.wav play ambient/wind.wav stopsound play alalalalala.wav play blblblblblbl.wav stopsound .... This can seem very hard, but I have been created two macros in Word that do it of very simple form. Also it is necessary to say, that it does not have to do it everybody, .cfg of a level is the same one for everybody. So they are possible to be shared. Later it is possible to create new files with other already existing ones. For example: *level1.cfg* play blablabla.wav play blebleble.wav stopsound play bliblibli.wav play blobloblo.wav .... *level2.cfg* play pepepe.wav play popopo.wav stopsound play pipipi.wav stopsound *levels1and2.cfg* exec level1.cfg exec level1.cfg exec level2.cfg exec level2.cfg (notice that is important to put each .cfg twice if they are very big. Can be tested with snd_memasync command) *chapter1* exec levels1and2.cfg exec levels3and4.cfg etc.... Later I will upload my cfg. As much config, autoexec like those of preload of sounds in case somebody wants to test them. Otherways, I animate to you to create your own cfg files. Good luck. Last edited by MaLDo : 12-06-2005 at 02:19 AM. |
|
|
|
#2 |
![]() Join Date: Mar 2004
Reputation: 8
Posts: 1,226
|
To everyone- I have tried to make the text in this message easy to read by automatic translators so thats why it seems simple
Hi I can understand your message. If this really does stop all the stuttering, then I think VALVe should take a look at this and possibly include cfg files like this in the game in an update. I cannot test it because I only have 1Gb of RAM. Thank you for spending so much time on trying to help all the Half-Life 2 players. They should all be like you! |
|
|
|
|
|
#3 | |
|
Guest
Posts: n/a
|
Quote:
![]() I had 1GB of RAM one week ago and I do these tweaks without problem. Your amount of ram is important to set a heap size. And this heap size sets the quantity of sounds you can preload with .cfg in a time. When I had 1Gb of RAM I had to preload sounds in 6 times. This 6 .cfg files includes 2 o 3 chapters. You can try how many sounds can preload with your heapsize or try increase this heapsize for preload more sounds. Posibly I explain me bad... ![]() |
|
|
|
|
#4 |
|
Guest
Posts: n/a
|
what is this program for changing the LATENCY?
many thanks |
|
|
|
#5 | |
|
Guest
Posts: n/a
|
Quote:
|
|
|
|
|
#6 |
![]() Join Date: Aug 2004
Reputation: 18
Posts: 764
|
changing my latency on my radeon 9800 pro from 255 to 32 made an incredible improvement. Most of the stutters are nearly all gone, I can't even notice many of them, and the longer stutters are still noticable, but much shorter than before.
|
|
|
|
|
|
#7 |
|
Guest
Posts: n/a
|
Just want to add my thanks, you have obviously spent some time working on this. I'll defiantly be trying some of these tips out, all of them if I have time.
If you could upload the configs you have already made for us to test that would be great. On a side note, i have already tried the PCI Latency tool and can also confirm that it did indeed make a difference. Thanks again for sharing your findings with us. |
|
|
|
#8 | |
|
Guest
Posts: n/a
|
Quote:
|
|
|
|
|
#9 |
![]() Join Date: Aug 2005
Reputation: 0
Posts: 82
|
sticky!!
|
|
|
|
|
|
#10 |
|
Banned
Join Date: Jun 2004
Reputation: 0
Posts: 2,709
|
This is looking good, but I'll have to see how effective it is when you upload the cfg's, and explain where to place them in our folders.
|
|
|
|
|
|
#11 |
|
Guest
Posts: n/a
|
Errrr.... where can I upload the files? Anybody? :P
|
|
|
|
#12 |
|
Guest
Posts: n/a
|
If your AGP graphics card has a high PCI Latency of 248 clocks, lowering its latency may actually reduce your overall framerate slightly but can improve smoothness. Sound cards can also benefit from altering latency to reduce crackling for example. This is because PCI Latency is the amount of time which a particular PCI device has exclusive access to the main system information pathway (or 'Bus'). Some devices need higher clocks because they are transferring larger amounts of information. Graphics cards are a good example, and in most recent games the graphics card would require longer bus access than say the sound card. In general I recommend that you allow sound cards a latency of 32, and graphics cards have a latency of 128 at the very least. You can experiment with other values of course, but write down your original latencies first. Finally, note that PCI latency doesn't apply to newer PCI-Express devices.
|
|
|
|
#13 |
|
Banned
Join Date: Jun 2004
Reputation: 0
Posts: 2,709
|
High ho, high ho, and on the way we go...
Last edited by TheGunslinger : 10-15-2005 at 06:27 AM. |
|
|
|
|
|
#14 |
|
Guest
Posts: n/a
|
MaLDo, check your PM's.
|
|
|
|
#15 | |
|
Guest
Posts: n/a
|
Quote:
|
|
|
![]() |
«
Previous Thread
|
Next Thread
»
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
All times are GMT -8. The time now is 11:13 AM.










Linear Mode
