1 2
SYSTEM FOR MONITORING Far example, GUI environments such as that supplied
PERFORMANCE OF ADVANCED GRAPHICS with the OS/2® operating system, available from Interna
DRIVER INCLUDING FDLTER MODULES tional Business Machines Corp., permit the user to perform
FOR PASSING SUPPORTED COMMANDS various operations in separate rectangular screen windows.
ASSOCIATED WITH FUNCTION CALLS 5 The windows have characteristic appearances (colors,
AND RECORDING TASK EXECUTION TIME bottlers, shading, etc.), and must also exist alongside other
FOR GRAPHIC OPERATION windows and screen artifacts. In order to spare designers of
applications intended for use on such a GUI from rewriting
Lilt T\ rrp XTTP TNVP1S]'11 IO"NT
ric^u urinu ... tne copious graphics instructions associated with windows
This invention relates to graphics drivers, and in particu- 10 rendering and management each time these operations
lar to an architecture for supporting different graphics sub- become necessary, the API packages these into high-level
systems and the various drivers usable therewith. commands. Thus, the designer need only enter a WinDraw
BACKGROUND OF THE INVENTION Border instruction (along with appropriate parameters such
as window size) in order to give the application the ability
Today even relatively modest personal computer systems 15 t0 a window border. The API maintains a library of
have graphics subsystems that facilitate display of elaborate graphics instructions associated with each high-level
graphic patterns on a video or flat-panel display. The pro- command, and imports these into the application program
liferation of applications generating such sophisticated when it is compiled or run.
graphics has engendered changes in the way computational ^ GUI must ^ te compatibie witn numerous availresponsibility for their actual rendering is allocated. In older 20 able hardware platforms and graphics adapters. This is systems, the main processor would perform all graphics facmtated by interposing a device driver, which directly processing (through a display controller) according to com- controls the graphics hardware, between that hardware and mands supported by the operating system-the software the Mcs engine Deyice Myels m a common expedient module responsible for managing the processing and trans- in current computer systems, and contain processing logic fer of information among various system resources. The 25 for controlling the low-level or device-specific components desire for greater resolution and rendering capabilities even- of a particular computer resource. Each hardware configutually began to impose an excessive computational burden ration is ^ a mNerA &aphics MytT capable of on the main processor, limiting overall speed and ultimately translating the common set of graphics-engine commands, making this simple architecture obsolete. OT "primitives," mto signals specific to the graphics hardSystem designers therefore began transferring graphics- 30 ware. This arrangement provides consistency at the operatprocessing tasks to separate graphics hardware boards, jng SyStem and GUI level
called "graphics adapters." These boards contain circuitry Mafters ... iicated, however, in systems that
dedicated exclusively to drawing graphic patterns on fee applications written for different GUIs. For
display, and support both high speed and fine resolution. The e k ^ QS/2 0^^ systein accepts «native« com.
fartmatmeirfunctionalreperto^^ 35 mands from applications written specifically for OS/2 as
prove limiting, since board capabilities were matched to the weU as llforei „ commands {EaCted toward ^ Wmdows
commands recognized by the main operating system. Apph- Qm uaAtta& b Microsoft Corp. This versatility is ordi
cation programs requiring graphics operations passed task ^ implemented by the simultaneous presence, in com
commands to the operating system, which executed them putef mem^ of me subsystems associated with
through the graphics hardware. 40 each of ths supported GTJIs ^ ^ &lipidcs Mveis with
The recent advent of graphical user interfaces ("GUIs") wnich ^ ^ ordinarily paired.
haslargelyrenderedtMsarrangementobsoleteaswell GUIs ... modification, each driver would operate
provide a visual metaphor of a real-world scene such as a ^ ^ ^ ^ under &e a tion mat & <w> me
desktop, featuring icons that the user can manipulate with a Mcs ... (and & tQ ^ foct ^ o±er
pointing device such as a mouse. GUIs operate at a hierar- 45 ^ ^ ... ^ m and might suddenly become
chical level above the operating system but below ... Unfortunatel modifying a driver to cooperate with
applications, from which they accept functional commands ... nts a ^sk, not only because
that include requests for graphics operations. GUIs offer the rf ^ complexity of graphics drivers, but also due
user a colorful graphic environment that is preserved across to ^ ^ J ^^ for Me[_Mve[
apphcations designed for the GUI; they also impose sub- 50 eratjon
stantial graphics-processing demands, typically requiring A _' x. , ,.
sophisticated graphics subsystems that include an A ^al comphcation occurs when graphics boards are
application-program interface ("API") and a graphics up^ed These hardware devices are frequently produced by
engine. The API layer translates application commands, independent vendors, which sell them to computer rnanu
which are written in a high-level language, to the high-level 55 f *°r^stallation on an ongmal-eqmpmentmanufac
drawing commands supported by the graphics engine, a *TM <TM> bausis-ff ^^hardware is to run the full repertoire
specialized component of the operating system. The graph- of graphics subsystem functions associated with every sup
ics engine, in turn, processes the high-level drawing com- P01**1 GUI' ^ must ordinarily be rewritten with
mands into lower-level drawing commands supported by a each new equipment release,
graphics device driver. The device driver, finally, processes 60 DESCRIPTION OF THE INVENTION the lower-level drawing commands into output signals that
drive the graphics adapter, which performs the actual draw- Advantages of the Invention ing operations on the display. (Typically, the instantaneous An advantage the present invention is simultaneous supappearance of the display is determined by the bitwise or port of a plurality of graphics device drivers, any of which bytewise contents of a display or frame buffer; the graphics 65 may be selected for immediate implementation of a desired adapter draws patterns on the display by modifying bits in graphics function and without special programming to prethe buffer.) vent unwanted interaction.