%28v=vs.85%29.aspx
Windows 2000 Display Architecture
The following figure shows the components required to display on Windows 2000 and later.
-
The shaded elements in the preceding figure represent services that are supplied with Windows 2000 and later. The unshaded elements indicate that a third-party display driver and video miniport driver are required in order for a graphics adapter to display in the Windows 2000 and later systems.
-
-
For every type of graphics card that can be used with an NT-based operating system, there must be both a display driver and a corresponding video miniport driver. The miniport driver is written specifically for one graphics adapter (or family of adapters). The display driver can be written for any number of adapters that share a common drawing interface; for example, the VGA display driver can be used with either the VGA or ET4000 miniport driver. This is because the display driver draws, while the miniport driver performs operations such as mode sets and provides information about the hardware to the driver. It is also possible for more than one display driver to work with a particular miniport driver; for example, the 16- and 256-color SVGA display drivers can use the same miniport driver.
-
(每种类型的显卡,NT-based操作系统要求提供一个显示驱动和对应的video miniport driver。小端口驱动是针对图形适配器编写的。显示驱动是针对共享一个绘图接口的适配器。例如,VGA显示驱动可以使用VGA或者ET4000小端口驱动。(dirver:miniport,1:N)这是因为显示驱动绘图时,小端口驱动完成诸如模式设置,提供硬件信息给驱动等操作。多个显示驱动也可以共用一个小端口驱动(dirver:miniport,N:1)
-
-
The following sections describe the key responsibilities of display and video miniport drivers. The breakdown in responsibilities is not hard and fast; the balance between modularity and performance is the key. For example, the hardware pointer code for the VGA driver resides in the miniport driver. This promotes modularity, so the same display driver can handle both the Video Seven VRAM, which has a hardware pointer, and the ET4000, which does not.
-
Windows 2000 Display Driver Responsibilities
-
-
A display driver is a kernel-mode DLL for which the primary responsibility is rendering. When an application calls a Win32 function with device-independent graphics requests, the Graphics Device Interface (GDI) interprets these instructions and calls the display driver. The display driver then translates these requests into commands for the video hardware to draw graphics on the screen.
-
(显示驱动是一个主要负责渲染的内核模式的DLL。当应用程序调用一个DIB请求的Win32函数,GDI接口转换数据并调用显示驱动。显示驱动将请求转为命令发送给video hardware,完成绘图操作。)
-
-
The display driver can access the hardware directly. This is because there is a wide variety in graphics hardware capabilities, and because display is one of the most time-critical parts of any system. This accessibility and the wide scope of capabilities within GDI provide considerable flexibility when implementing a display driver.
-
(显示驱动能够直接接触硬件。因为有多种多样的硬件,而且显示是一个耗时的系统部件。)
-
-
By default, GDI handles drawing operations on standard format bitmaps, such as on hardware that includes a frame buffer. A display driver can hook and implement any of the drawing functions for which the hardware offers special support. For less time-critical operations and more complex operations not supported by the graphics adapter, the driver can punt functions back to GDI and allow GDI to do the work. See Hooking Versus Punting for details.
-
For especially time-critical operations, the display driver has direct access to video hardware registers. For example, the VGA display driver for x86 systems uses optimized assembly code to implement direct access to hardware registers for some drawing and text operations.
-
(一般情况,GDI以标准位图的格式处理绘图操作,例如硬件提供帧缓存。显示驱动能够hook和实现任意的绘图操作,针对硬件能够提供特殊的支持的情况。对实时性不高且显卡不支持的复杂操作,驱动能将函数丢给GDI,让GDI完成操作。)
-
-
Note The video miniport driver must manage all resources (for example, memory resources) shared between the video miniport driver and the display driver. The system does not guarantee that resources acquired in the display driver will always be accessible to the video miniport driver.
-
(注意到video小端口驱动必须管理所有资源(例如内存资源)共享,介于video 小端口驱动和显示驱动之间。系统不保证显示驱动获得的资源,video小端口驱动也能够获得。
-
Windows 2000 Video Miniport Driver Responsibilities
-
-
The kernel-mode video miniport driver (.sys file) generally handles operations that must interact with other NT kernel components. For example, operations such as hardware initialization and memory mapping require action by the NT I/O subsystem. Video miniport driver responsibilities include resource management, such as hardware configuration, and physical device memory mapping. The video miniport driver must be specific to the video hardware.
-
(内核模式的video小端口驱动(.sys文件)处理包括必须与其他NT内核模块交互的操作。例如,硬件初始化和内存映射要求NT I/O子系统参与。Video小端口驱动负责包括资源管理,例如硬件配置,物理设备内存映射。video小端口驱动必须与绑定对应的硬件。)
-
-
The display driver uses the video miniport driver for operations that are not frequently requested; for example, to manage resources, perform physical device memory mapping, ensure that register outputs occur in close proximity, or respond to interrupts.
-
(显示驱动使用video小端口驱动来完成不频繁的请求,例如资源职业,处理物理设备内存映射,响应终端)
-
-
Note The video miniport driver must manage all resources (for example, memory resources) shared between the video miniport driver and the display driver. The system does not guarantee that resources acquired in the display driver will always be accessible to the video miniport driver.
-
-
The video miniport driver also handles:
-
-
Mode set interaction with the graphics card.
-
-
Multiple hardware types, minimizing hardware-type dependency in the display driver.
-
-
Mapping the video register into the display driver
阅读(625) | 评论(0) | 转发(0) |