一个提高CD-ROM读取速度的程序CD-QUICK

Author: 四川 于建原 Date: 1996-01-19

        ①CD-QUICK最大可以使用10MB的扩展内存(XMS)为CD-ROM建立读取缓冲;
        ②程序只占用11KB基本内存,并可以引导到高端内存;
        ③使用一种智能缓冲技术,可以将CD-ROM盘中读取最频繁的数据保留在缓冲中,并不断根据数据使用的频率调换缓冲区中存放数据的先后次序,以得到最佳的命中率。所以,和smartdrv对CD-ROM的缓冲速度比较,CD-QUICK可以提高CD-ROM读取速度的50%~150%(视光盘的类型和有关硬件的类型而定)。
        该程序对系统要求不高:IBM兼容机,具有80286以上的处理器,至少有384KB的扩展内存;至少有一个CD-ROM驱动器(可以有多个);MS-DOS3.1以上的版本;任何一种标准的扩展内存管理程序,如MS-DOS的himem.sys、386max以及qemm等。
        该程序可以通过运行原程序盘中的安装程序(install)进行安装,也可以将文件直接拷贝到用户建立的任何一个子目录中,通过自行编辑AUTOEXEC.BAT文件安装。对于采用了多重配置的用户来说,应采用后一种方法进行安装。
        在AUTOEXEC.BAT中调用QCD(注意一定要在mscdex.exe之前调用,这和smartdrv必须在mscdex之后调用不同)的命令格式和语法为:
        CDQ [/D:<DRIVERNAME>][CACHESIZE][/F] [/NOHMA][/ON][/OFF][/HELP][/?]
        其中:/D:<DRIVENAME>为指定缓冲的CD-ROM驱动器名。注意不是盘符,而一定是调用CD-ROM设备驱动程序时所定义的驱动器名!比如,在CONFIG.SYS中的CD-ROM驱动程序为:DEVICE=CDROMDRV.SYS /D:MSCD001,则CD-ROM的名字为:MSCD001。
        CACHESIZE为指定缓冲区的大小,以KB为单位。如CDQ 1024,即指建立的缓冲区为1024KB。根据系统内存选择缓冲区的大小,可参照右表的推荐值,也可以根据自己的系统使用配置情况决定,理论上和硬盘缓冲一样,越大越好。
        /F   在CD-QUICK加载以后,如果需要刷新缓冲块中的数据,可在DOS的命令符下加该参数运行。由于CD-QUICK一般可自动刷新缓冲块,该命令参数一般很少用。只有对某些老式的CD-ROM,才需要人工刷新。
        /NOHMA   禁止使用高端内存作为CD-ROM的缓冲区。如果用户有其他的程序需要使用高端内存,可以加该参数,禁止CD-QUICK使用高端内存。
        /OFF   加载CD-QUICK以后,如果需要,也可以禁止在扩展内存中设置CD-ROM的缓冲区,为某些需要使用较大内存的应用程序释放出内存。如象笔者接触过的“NBA篮球”游戏,约需7.4MB的内存,就可以暂时取消缓冲。当我们运行完要用大内存的程序后,可以再用/ON参数运行一次CD-QUICK,又可对CD-ROM进行缓冲。
        /HELP或/?   CD-QUICK的在线帮助。
        CD-QUICK可以和smartdrv很好地协调工作。但要求smartdrv的版本为MS-DOS 5.0或更高版本。注意,如果使用CDQ,则一定要将smartdrv加上/u的参数,以禁止smartdrv再对CD-ROM缓冲。笔者建议,使用了CD-QUICK后最好考虑用pc-cache代替smartdrv,可以减少对常规内存的占用(因这两个程序占用的内存之和都还少于smartdrv)。
        CD-QUICK还带有一个对CD-ROM的读取速度的测试程序CDTEST,以检验使用CD-QUICK以后的效果。只要在DOS的提示符下键入:CDTEST即可。因为不同的数据光盘的文件数不同,为节省时间,最好选一张数据较少的光盘作为测试盘。注意,必须在mscdex.exe程序驱动以后进行测试,主要是让光驱生效。如果是在386增强模式下运行WINDOWS的话,应该退出WINDOWS后运行CDTEST。如果有两个以上的光驱,可以分别选择任何一个进行测试。用户可以在没有使用CD-QUICK与使用它之后各测试一次,以便了解使用了CD-QUICK后CD-ROM的数据读取速度提高的情况。