优化内存和资源的使用,提高Windows的运行速度

Author: 北京 杜国梁 Date: 1995-06-16

        分析Windows的工作过程,在两种情况下要和磁盘交换信息,这是其运行缓慢的症结所在。第一种情况是在程序运行过程中,有时物理内存不足(比如为执行任务切换,要保存原来的屏幕信息,必须使用虚拟内存;第二种情况是当应用程序有输入输出请求时,如保存文件,装入文件以及读字库等,要加快输入输出进程,可使用磁盘高速缓存程序,利用物理内存开辟一个高速缓冲区,这也要使用物理内存,两种情况都需要增加物理内存,是不是只能增加物理内存才能提高运行速度呢?答案是“不一定”。若能优化在运行Windows时的内存使用,挖掘现有内存的潜力,也能提高运行速度,这可从以下几方面入手:
        1、不要使用DOS中的上位内存块(UMB)。Windows系统和DOS使用不同的内存管理模式,有不同的寻址方式,因此在DOS系统中比较优化的内存配置,对于Windows来说可能就不是优化的。因而在运行Windows时,系统的CONFIG.SYS配置文件中,应将EMM386.EXE语句去掉,只要将CONFIG.SYS中装入EMM386.EXE的语句中的DEVICE后面加上一个问号,即写成
        DEVICE?=C:\DOS\EMM386.EXE NOEMS(后面还可带其它开关)
        DOS启动系统时,当执行到上面语句,会给出一条要求确认执行的信息,如果运行DOS程序,可键入Y,执行这条语句;如要运行Windows,只要键入N,即可跳过这一语句,去掉UMB驱动程序的效果相当明显。
        2、使用恰当的高速缓存容量。运行Windows时,一般总要使用SMARTDRV高速缓存程序,在内存总量不变时,存在一个最佳的容量选择,兼顾两个方面,使系统的总体速度最高。经笔者试验,SMARTDRV命令行上的WinCacheSize参数取256K时(即运行Windows时的SMARTDRV的容量为256K,针对具有4M内存的系统而言),性能最好。
        3、运行大型Windows应用程序前,系统启动时,去掉不必要的驻留程序,如DOSKEY、鼠标驱动程序(windows内有自己的鼠标驱动程序)以及反病毒程序等。启动Windows后,卸下所有的SHELL程序,如HP DASHBOARD,NORTON DESKTOP FOR WINDOWS,MICROSOFT OFFICE等,只留程序管理器,同时将不必要的应用程序也都退出,如时钟、计算器等。若有屏幕保护程序(Screen Saver),也应使其失效,这会省出可观的内存和Windows资源,从而加快应用程序的运行速度。
        4、Windows系统虽然内存不受640K常规内存的限制,但它还有另一个局限_GUI资源,Windows的资源保存在一个64K的堆中,当这一内存区域所余内存接近原有容量的25%时,Windows的运行速度明显减慢,同时也很容易崩溃,这正是出现“General Protection Failure”的根源,因此除了节约内存之外,对资源也要格外珍惜,每一个运行的程序都要耗费一定的资源,此外驱动程序(如屏幕显示驱动程序、字体驱动程序和打印机驱动程序等)也要消耗一些资源。为了节省资源开支,除了退出不必要的SHELL程序和应用程序外,除非实在必要,不要使用256色的屏幕驱动程序,应尽量使用16色的。删除不常使用的字体(但不删除磁盘上的字体文件,想使用时还可再安装)和打印机驱动程序(只用一种打印机驱动程序,如未安装打印机,可不安装打印机驱动程序),删除不必要的汉字输入法(如用五笔字型输入法为主,可删除拼音输入法),去掉华而不实的壁纸等,这都能有效的节约系统资源,提高系统的运行速度。
        笔者在一台有4M内存的386DX计算机(永久交换文件为5.6M,硬盘使用了DBLSpace)上,运行MS PowerPoint时,速度慢得出奇,但经以上处理后,输入汉字和翻页的显示速度明显提高,调用OLE服务程序也显著加快,用Word编辑大文件时,翻页时几乎感觉不到滞后,仿佛变成了一台具有8M内存的486计算机了。更令人高兴的是,从此再没出现让人恼火的“General Protection Failure”。(北京 杜国梁)