Simple Quicker Speed Picker Uppers
Posted: October 7, 2000
Written by: Keith "Farrel" McClellan
It's amazing to me sometimes how the stupid, small, and seemingly innocuous settings within Windows can make some of the biggest differences within the system. Add one line to the system.ini file here, or one key to the registry there, and boom, the computer comes to life with speed previously unknown to the user. In this guide, my intention is so show you some of these simple and seemingly innocuous settings, in hopes that you won't overlook them in your system's configuration as 'unimportant' as I know many people do - as well as at the same time educate you as to what exactly these unimportant settings do to speed up your system.
Drivers and WindowsUpdate
There are two very simple ways of increasing the speed of your computer - download new drivers for your hardware, and install any updates available for Windows from Microsoft. By keeping your system up to date on drivers and patches for the OS, you are increasing speed (because many new drivers and patches include speed enhancements) and are also nipping bugs in the butt, giving your system greater potential uptime (it's more stable, damnit!). And we all know how much crashing computers annoy us. And even though I say this in every guide I write, I thought I'd mention it again for newcomers and old hats alike - only because it is so easy to overlook when performance tuning a computer system. You can access WindowsUpdate here, and if you are having trouble finding drivers for your hardware, windrivers.com just might be able to help you out.
The system.ini file has several possible configuration opportunities that can be easily overlooked as simple and unimportant. Who would think that a simple text string, like 'ConservativeSwapfileUsage=1' would have such an extreme effect on the overall speed of the system. What is even more amazing is that this same setting has different effects on the computer depending on the version of Windows you are using. All of the following settings should be placed in their respective places within the System.ini as noted.
ConservativeSwapfileUsage=1 - This setting has different meanings depending on which version of Win9x you are using. It wasn't even introduced as a setting until Windows 98 came out, so don't bother with this one if you are still running Win95. If you are running Win98 or 98SE, this setting will force the computer to use the swap file in a "conservative" way, which in other words is the same way as Windows 95 did. If you are running on Windows Me (this is one of the big speed tweaks for WinMe, particularly if you have more than 128 Mb of RAM), this setting will tell Windows not to use the swapfile at all until all of the RAM is used. After all of the RAM is used, the computer will push off the most infrequently used data to the swap file. This setting goes under the [386Enh] section.
DMABufferSize - This setting will tell the computer to reserve a buffer in system memory for DMA. If you are using any DMA enabled pieces of hardware on your system at all, it is advisable that you set this equal to 64 Kb (the line would read DMABufferSize=64). This setting goes under the [386Enh] header.
LocalLoadHigh - This setting tells the operating system to load its local drivers into upper memory by default as opposed to trying to squeeze them into conventional memory. Even though you'd think this wouldn't matter anymore, DOS still does play a role in how fast the operating system and leaving it whatever resources it might need is important. To enable this tweak, you should insert the line LocalLoadHigh=1 under the [386Enh] section.
PageBuffers - This setting tells the computer to dedicate a certain amount of memory in RAM to buffer the hard drive rather than allowing the computer to dynamically handle the buffer(s) (this is unclear because my documentation on this setting is incomplete). In my experience, the optimal setting for this is 32, which I believe is the largest value recognized by the operating system. I have not tested this tweak with any other operating system other than WinMe, so this may do nothing on Win9x systems. To enable this setting, add the line PageBuffers=32 to the [386Enh] section.
MinFileCache and MaxFileCache - These settings, which can also be set using programs such as cacheman, determine the possible sizes of the vcache, or part of main memory which contains binary code that is directly executable by the processor. Windows, many times, will increase the size of this (when allowed to manage it dynamically) far past what it really needs, so it is best that we set it ourselves. The setting is in KB, and generally the best settings for this are approximately 10% of your RAM (MinFileCache) and approximately 25% of your RAM (MaxFileCache). Which settings are best for your system depend a lot on how you use it, so I can't be more specific. To calculate the values you want for the vcache, multiply the number of MB you want used for vcache by 1024 (converting it to KB). For example, 16 MB would be 16384 Kb, so you would put in MinFileCache=16384 if you wished the minimum setting for the vcache to be 16 MB or MaxFileCache=16384 if you wished the maximum setting to be 16 MB.
Chunksize - This setting determines how large the chunks are that are allocated to each program residing in the vcache. A program can have more than one chunk, but if it doesn't divide evenly into the size of the chunk, some RAM goes unused (much like how FAT works for hard drives). On one hand, having a smaller chunk size allows for less wasted RAM in the vcache, however, on the other hand, a larger chunk size increases the access speed for the vcache. Depending on how you use your system, and how much RAM you have to spare, it will determine whether or not you want a large chunk size. Common values for this setting are 128, 256, and 512 KB. This setting is formatted chunksize=XXX, where XXX is the value in KB, and the setting is placed under the [vcache] header.
Defragmenting Your Hard Drive
It's amazing how often the little process of defragmenting a hard drive gets overlooked by system optimizers - when it ideally should be the very first thing they do. Defragmenting the hard drive lines up all of the different parts of a particular program sequentially on the hard drive so that it can be accessed more quickly. If you are using the standard Windows defragmenter, the optimal settings for it are to defragment the files and consolidate free space, as well as scan for errors (don't want to write to a bad sector of the hard drive by accident). If you are using a commercial defragmenter, you will want to set it to place the swapfile at the outside edge of the drive, and put more commonly used system files closer to the outside edge of the drive as well - hopefully leaving only rarely used data files near the center of the drive (where data-transfer is the slowest due to the disc's rotational speed). Now, defragmenting a drive takes several hours, so you will probably want to do this overnight.
MSDOS.SYS holds some interesting startup settings for Windows that should be explored. I will go into depth about each setting here - they should all be placed in the beginning part of the msdos.sys file under [Options].
Logo - This setting simply tells the computer whether or not to display the Windows logo while it loads programs in the background from the command line. Disabling this will slightly increase the startup speed. To disable it, include the line logo=0 in MSDOS.SYS.
DrvSpace - This setting tells the computer whether or not to include the drivespace compression algorithm for FAT16 hard drives along with the other system files at startup. Disabling this will give an overall boost in system performance, and unless you are using drivespace to compress one of your hard drives, it is recommended. To disable this driver, use the line drvspace=0.
Dblspace - This setting tells the computer whether or not to load the doublespace compression algorithm for FAT16 hard drives along with the other system files at startup. Disabling this will speed up the system, and unless you are using doublespace to compress a hard drive on your system, it is recommended. To disable the doublespace driver, us the line dblspace=0.
DisableLog - This setting tells the computer whether or not to create a log file during every system startup. Disabling this will speed up boot times, and seeing that it is unlikely that the log file will ever be used, it is recommended. To disable the log file, include the line disablelog=1 in the msdos.sys file.
Doublebuffer - This setting tells the computer whether or not to use double-buffering for your hard drive. If you have a large FAT32 partition or you use SCSI, you are probably going to want to leave this enabled, but if you have a smaller FAT32 partition (under 10 GB per partition is a good rule) or you use FAT16 for some ungodly reason, disabling this can give you a speed boost. To disable it, use the line doublebuffer=0.
System Applet Tweaks
Now, there are many tweaks that can be performed from within the system applet, however, we are only going to go over a few brief ones here, seeing that most of them are hardware specific. Going to the performance tab and clicking on the File system button will bring up a menu that has several tweakable options. Under the hard disk tab, you will want to set the typical role of the computer to either Network Server or, if you are using a program that allows you to modify that setting more precisely, the name of your custom typical role (mine says Cacheman Optimization). You will also most likely wish to set the read-ahead optimization to full - although if you do a lot of multitasking you may wish to turn this off (if the computer doesn't read the right information ahead of time, you end up taking a performance hit as opposed to gaining speed). If you are using WinMe, you are going to want to set the System Restore slider all the way to the left, using as little HD space as possible.
Under the floppy disk tab, you are going to want to disable the "search for new floppy disk drives each time your computer starts" to speed up boot time, and under the CD-ROM tab you are going to want to set the supplemental cache size to Large (allowing the computer to store more information off of the CD prior to it being needed) and you will want to set the optimize access pattern setting to Quad speed or higher. Under the removable disk tab you are going to want to enable write-behind caching, and under the Troubleshooting tab you are going to want to disable system restore, which basically causes your hard drive to be used during operation to back up system files. This process also slows down the overall performance of the computer - which is a bother.
Hopefully, this article has helped you tweak out your system, and at the same time has helped you understand exactly what you are doing to your system that is making it faster - which is an important part of the tweaking process. If you are yearning for even more tweaking goodness, our standard tweak guides cover a lot more tweaks (in less depth) to help you speed up your system - as I said, these less intense guides are designed to help you better understand exactly what it is you are doing. You might also want to look into our How To guides, which go over certain (from basic to advanced) computer processes that will help you understand your computer even more. Good luck!
Want to return to the normal guide? Click here!
All Content Copyright ©Dan Kennedy; 1998-2000