?? jiagou.htm
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>DirectDraw架構</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body>
<b><font FACE="Arial" SIZE="5">
<p align="center"></font><a name="目錄"><font color="#FF8000"><font FACE="Arial"
size="6">DirectDraw</font><font FACE="宋體" size="6">架構</font></font></a></p>
<p align="right" style="margin-top: -10; margin-bottom: -8"></b><a href="index.htm"
style="text-decoration: none"><span style="text-decoration: none">返回上級</span></a></p>
<hr>
</b>
<blockquote>
<font FACE="宋體" SIZE="3"><p ALIGN="JUSTIFY">這一章介紹了</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">與操作系統和系統硬件之間的關系。包含以下主題:</p>
</font>
</blockquote>
<blockquote>
<font FACE="宋體" SIZE="3"><ol>
</font><font FACE="Arial" SIZE="3">
<li>DirectDraw</font><font FACE="宋體" SIZE="3">結構概覽</li>
</font><font FACE="Arial" SIZE="3">
<li>DirectDraw</font><font FACE="宋體" SIZE="3">對象類型</li>
<li>硬件抽象層(</font><font FACE="Arial" SIZE="3">HAL</font><font FACE="宋體"
SIZE="3">)</li>
<li>軟件仿真層(</font><font FACE="Arial" SIZE="3">HEL</font><font FACE="宋體"
SIZE="3">)</li>
</ol>
</font>
</blockquote>
<font FACE="宋體" SIZE="3">
<hr>
</font>
<blockquote>
<b><font FACE="Arial" SIZE="5"><p></font></b><strong><font FACE="Arial" SIZE="3">DirectDraw</font><font
FACE="宋體" SIZE="3">架構概覽</strong></p>
</font>
</blockquote>
<blockquote>
<font FACE="宋體" SIZE="3"><p ALIGN="JUSTIFY">多媒體應用程序及游戲需要高表現力的圖形引擎。</font><font
FACE="Arial" SIZE="3">Microsoft</font><font FACE="宋體" SIZE="3">公司通過</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">,為廣大開發者提供了一個比</font><font
FACE="Arial" SIZE="3">GDI</font><font FACE="宋體" SIZE="3">層次更高、功能更強、操作更有效、速度更快的應用程序圖象引擎,與此同時,也努力使其保持了設備無關的優良特性。</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">主要提供了完成以下任務的工具。</p>
</font>
</blockquote>
<font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY"> </p>
<ul>
<li>管理多頁面</li>
<li>直接訪問視頻</font><font FACE="Arial" SIZE="3">RAM</li>
</font><font FACE="宋體" SIZE="3">
<li>換頁(</font><font FACE="Arial" SIZE="3">Page flipping</font><font FACE="宋體"
SIZE="3">)</li>
<li>后臺緩存(</font><font FACE="Arial" SIZE="3">Back buffering</font><font
FACE="宋體" SIZE="3">)</li>
<li>管理調色板(</font><font FACE="Arial" SIZE="3">Palette</font><font FACE="宋體"
SIZE="3">)</li>
<li>裁剪(</font><font FACE="Arial" SIZE="3">Clipping</font><font FACE="宋體" SIZE="3">)</li>
<li>視頻端口(</font><font FACE="Arial" SIZE="3">Video port</font><font FACE="宋體"
SIZE="3">)</li>
</ul>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY">除此之外,</font><font FACE="Arial" SIZE="3">DirectDraw</font><font
FACE="宋體" SIZE="3">允許開發者在應用程序運行期測定顯示硬件的特性,然后,充分利用主機硬件設備的加速特性為用戶提供可能的最優的顯示速度和效果。</p>
<p ALIGN="JUSTIFY">與</font><font FACE="Arial" SIZE="3">DirectX</font><font FACE="宋體"
SIZE="3">其它組件一樣,只要可能,</font><font FACE="Arial" SIZE="3">DirectDraw</font><font
FACE="宋體" SIZE="3">就會最高程度的利用硬件執行某特定功能,并且讓那些該硬件還不支持的特性也能用軟件仿真的方式加以實現。設備無關性通常是通過硬件抽象層(</font><font
FACE="Arial" SIZE="3">HAL</font><font FACE="宋體" SIZE="3">:</font><font FACE="Arial"
SIZE="3">Hardware abstraction layer</font><font FACE="宋體" SIZE="3">)實現的,要得到更多的關于</font><font
FACE="Arial" SIZE="3">HAL</font><font FACE="宋體" SIZE="3">的資料,請參閱“硬件抽象層(</font><font
FACE="Arial" SIZE="3">HAL</font><font FACE="宋體" SIZE="3">)”。</font><font
FACE="Arial" SIZE="3"></p>
<p ALIGN="JUSTIFY">DirectDraw</font><font FACE="宋體" SIZE="3">是通過基于</font><font
FACE="Arial" SIZE="3">COM</font><font FACE="宋體" SIZE="3">的接口提供服務。在</font><font
FACE="Arial" SIZE="3">DirectX 5.0</font><font FACE="宋體" SIZE="3">版本中,這些接口分別是:</font><font
FACE="Arial" SIZE="3">IDirectDraw2</font><font FACE="宋體" SIZE="3">、</font><font
FACE="Arial" SIZE="3">IDirectDrawSurface3</font><font FACE="宋體" SIZE="3">、</font><font
FACE="Arial" SIZE="3">IDirectDrawPalette</font><font FACE="宋體" SIZE="3">、</font><font
FACE="Arial" SIZE="3">IDirectDrawClipper</font><font FACE="宋體" SIZE="3">和</font><font
FACE="Arial" SIZE="3">IDirectDrawVideoPort</font><font FACE="宋體" SIZE="3">。</font><font
FACE="Arial" SIZE="3">DirectX</font><font FACE="宋體" SIZE="3">的這些組件是向下兼容的,它們仍然支持舊版本中的所有功能。要得到更多的關于</font><font
FACE="Arial" SIZE="3">COM</font><font FACE="宋體" SIZE="3">的概念,以有助于理解和創建</font><font
FACE="Arial" SIZE="3">DirectX</font><font FACE="宋體" SIZE="3">應用程序,請參閱“</font><font
FACE="Arial" SIZE="3">DirectX</font><font FACE="宋體" SIZE="3">與部件對象模型(</font><font
FACE="Arial" SIZE="3">COM</font><font FACE="宋體" SIZE="3">)”。</font><font
FACE="Arial" SIZE="3"></p>
<p ALIGN="JUSTIFY">DirectDraw</font><font FACE="宋體" SIZE="3">對象代表顯示適配器,并且通過</font><font
FACE="Arial" SIZE="3">IDirectDraw</font><font FACE="宋體" SIZE="3">或</font><font
FACE="Arial" SIZE="3">IDirectDraw2</font><font FACE="宋體" SIZE="3">接口將其函數性暴露于開發者。在大多數情況下,開發者使用</font><font
FACE="Arial" SIZE="3">DirectDrawCreate</font><font FACE="宋體" SIZE="3">函數創建一個</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">對象,但也可以通過使用</font><font
FACE="Arial" SIZE="3">CoCreateInstance COM</font><font FACE="宋體" SIZE="3">函數創建之。要得到更的資料,請參閱“用</font><font
FACE="Arial" SIZE="3">CoCreateInstance</font><font FACE="宋體" SIZE="3">創建</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">對象”。</p>
<p ALIGN="JUSTIFY">在</font><font FACE="Arial" SIZE="3">DirectDraw</font><font
FACE="宋體" SIZE="3">對象創建好之后,你可以通過使用</font><font
FACE="Arial" SIZE="3">IDirectDraw2::CreateSurface</font><font FACE="宋體" SIZE="3">方法為該</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">對象創建頁面。頁面代表了位于顯示硬件上的內存,但是它既可以存在于視頻</font><font
FACE="Arial" SIZE="3">RAM</font><font FACE="宋體" SIZE="3">,也可以存在于系統</font><font
FACE="Arial" SIZE="3">RAM</font><font FACE="宋體" SIZE="3">中。</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">還擴展了對調色板、裁剪(主要用于基于窗口的應用程序)和視頻端口(</font><font
FACE="Arial" SIZE="3">Video port</font><font FACE="宋體" SIZE="3">)的支持。</p>
<p ALIGN="JUSTIFY"> </p>
<ol>
<ol>
</font><b><font FACE="Arial" SIZE="5">
<li>DirectDraw</font><font FACE="黑體" SIZE="5">的對象類型</li>
</font></b><font FACE="宋體" SIZE="3"><p ALIGN="JUSTIFY">你可以將</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">視為由若干個協同工作的對象所組成。</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">所使用的對象有以下五個:</p>
</font><table BORDER="1" CELLSPACING="2" CELLPADDING="7" WIDTH="512">
<tr>
<td WIDTH="31%" VALIGN="MIDDLE" HEIGHT="28"><font FACE="宋體" SIZE="3"><b><p
ALIGN="JUSTIFY">對象</b></font></td>
<td WIDTH="69%" VALIGN="MIDDLE" HEIGHT="28"><font FACE="宋體" SIZE="3"><b><p
ALIGN="JUSTIFY">含義</b></font></td>
</tr>
<tr>
<td WIDTH="31%" VALIGN="TOP"><font FACE="Arial" SIZE="3"><b><p ALIGN="JUSTIFY">DirectDraw</b></font></td>
<td WIDTH="69%" VALIGN="TOP"><font FACE="Arial" SIZE="3"><p ALIGN="JUSTIFY">DirectDraw</font><font
FACE="宋體" SIZE="3">對象是</font><font FACE="Arial" SIZE="3">DirectDraw</font><font
FACE="宋體" SIZE="3">應用程序的核心。它是你在建立</font><font FACE="Arial"
SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">應用程序時所要創建的第一個對象,再用它來創建所有其它相關的對象。通過調用</font><font
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -