[SEAV Softwares Logo]




Home Page
Program Nook
Instructional
Open Forum
Portfolio
Visitor's Area
Connections
About the Site
A Few Things about Libraries
By SEAV

Libraries like DirectQB and Dash certainly help take off some of the work from QB programming. But, I would have to point out some disadvantages of using any library compiled in QLB and LIB form. First, even if you don't use all the routines contained within the library, especially if the library has little granularity (routines are compiled together from the same source module), the routines you don't use will still be included in your final compiled program. This means bigger programs and less available memory for data use.
I have experienced getting an Out of String Space Error when I had DQB 1.2 loaded in my game.
Second, specifically for ASM-libraries like DQB, Dash, and some other shareware libraries, I've noticed that the routines themselves do not really run very fast when compared to using assembly routines called using CALL ABSOLUTE.
To prove this point, download my benchmark program that pits my own 8086 assembly sprite put routine called using CALL ABSOLUTE against DirectQB's 386 assembly code from the 1.2 version. The algorithms used were similar, with DirectQB's being the more efficient. Yet, my routine runs faster. It even becomes faster when compiled while DirectQB did not become faster significantly.
Last, since these libraries are for general use they tend to be a bit flexible, which would certainly be not efficient for your program. Unless you have a way of customizing the libraries, you're out of luck if you want tight, fast, and efficient code.
Now, don't get me wrong here. I totally approve of libraries especially if you don't have the know-how of making your own. I, myself, might even use QMidi or BWSB since my knowledge of SB music programming is limited. And I would use DirectQB for some of my other projects.
If you do know assembly and you have the time, then I would suggest that you make your own routines. It will certainly make your programs more efficient, plus you can costumize the routines to any degree of flexibility and reusability. Also, it's good programming experience.
In my part, I have made my own collection of assembly routines using DEBUG and QB subroutines. This includes sprite routines, a keyboard handler, EMS routines, and palette routines. And since I made them, it's very easy for me to customize them for each project. And DEBUG is my assembler of choice (since it is the only assembler I have) =)



Home Page | Program Nook | Instructional | Open Forum
Portfolio | Visitor's Area | Connections | About the Site

Copyright © 1997-2000, SEAV Softwares. All rights reserved.
Webmaster: Eugene Villar (SEAV); e-mail: evillar@iname.com