📄 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 + -