! to the table of contents
< to the previous section:
> to the next section:
For the purposes of this discussion, I will limit my response to the manner in which DPS operates as part of the NEXTSTEP window server. DPS sometimes draws directly to the screen and sometimes to offscreen memory (buffered windows). The latter is the most common case. The former occurs only in nonretained windows and visible portions of retained windows.
DPS is split into two sections: a device independent kernel and a device dependent driver layer. The driver layer is free to use graphics hardware to do its job; however there are complications. First, most graphics cards only allow you to use the hardware to draw into the framebuffer, not into system memory. This renders the hardware unusable for buffered windows. Second, the hardware must draw the same pixels that the software would draw. Often this is hard to achieve with satisfactory performance results. The DPS device primitives rely on precise pixel layout that often cannot be guaranteed using the hardware in the most straightforward manner.
So, while it is theoretically possible to use graphics hardware with DPS in NEXTSTEP, it is not very practical. This should not lead you to the conclusion that all graphics cards are the same when it comes to NEXTSTEP. The speed of the system bus (ISA, EISA, PCI, VLB) is a big determinant of performance, but the internal architecture of the card itself also has a huge impact on the framebuffer memory bandwidth. I won't go into details, but some of the determinants include DRAM vs. VRAM, memory interleaving, and burst access.
Other factors also influence the quality of a display card. These include the speed and stability of the RAMDAC and the supported display modes to name jsut two.