Optimizing your system for audio recording
In the old days, I used to do CD quality recordings on my 386 system, featuring a 40 MHz CPU and a whopping 8MB of RAM. This system had only a fraction of the capabilities of your current machine. Still, it did not have any problem at all keeping up with the data transfers, and the recording time would be limited by the size of the harddisk only.
Now in spite of the fact that we have 32-bit operating systems, and many enhancements, systems still appear to be incapable of doing a decent recording of audio. The only performance requirement that your system must be able to meet is the ability to continuously transfer about 175kB of data to the harddisk. Taking into account that new harddisks have been performing far above these requirements with megabytes per seconds, that should not pose a problem. Still, when recording data, you can hear clicks and pieces missing because the system failed to meet the 175kB/s requirement.
VCACHE: The most likely cause
The first thing to tune is the virtual cache of Windows 95 (or 98). If you are running an NT based system, like Windows NT or Windows 2000, this section will not apply to you.
Windows 95 features a caching mechanism, that speeds up harddisk access by keeping frequently accessed data in RAM memory, and by delaying writes to the disk. The implementation in windows 95 has a serious design flaw, that interferes with audio recording.
Harddisks perform best if you feed them large chunks of data in bursts. They don't like writing tiny pieces of data scattered all over, and will noisily protest against such abuse. So the cache system kicks in and helps you out. At least, it does when you are doing some word processing or something like that. What the cache does is accumulate data and send it out to the harddisk in chunks. It also keeps the most recently written data in memory. The memory that it may use for this purpose is all the available memory that hasn't been claimed yet.
But something goes wrong with this scheme on 95 systems. If you are writing a single, large file, like an audio recording, the system will keep all that data in memory. When all available memory has been used, the cache system will still attempt to use more memory. The memory mangement then looks for parts of memory that haven't been used for a while, and throws these out, moving them to your disk if needed. The memory occupied by the cache has all been most recently written to, so the regions that it discards are most likely you program's code and the background image and such. The disk will become noisy as more and more of your programs and data are being moved out to the harddisk to make room for the cache. Eventually, your system will become slower and slower, because of the lack of memory, and the harddisk will get busier and busier, until eventually, your system is incapable to keep the audio recording going smoothly. This is causing the clicks.
The solution is very simple. Limit the memory hungry file cache, and instruct it to use no more than a fixed amount of memory. This will prevent the cache from eating all your memory, as it will not attempt to allocate more memory after it used up the limit.
The entry in
[vcache] MinFileCache=1024 MaxFileCache=8192
You must supply a
Sometimes there is a "chunksize" setting as well. Suggestion is to leave it at the default of 512 bytes. Here is a site with pages of information on that topic.