| 2008年01月15日 23:49 | |
英特尔® GMA X3000 是第四代英特尔集成显卡。与先前几代产品一样,英特尔® GMA X3000 芯片组又增加了很多特性,能够支持消费者以比独立显卡解决方案更经济的成本拥有丰富的特性。随着这些集成解决方案在市场上的日益普及,对于 3D 开发人员而言,支持并采用英特尔的集成解决方案也变得越发重要。英特尔显卡专为满足大部分企业和家庭用户的显示需求而设计。显卡内核内置在芯片组中。它与 CPU 共享系统内存,以确保客户能够以颇具竞争力的成本来保持系统架构的平衡。英特尔的 GMA 的能力完全可以比得上甚至超过许多更加昂贵的显卡解决方案。电脑购买者非常欣赏这种平衡的系统设计方法,因此英特尔显卡正是初次购买电脑者当前首选的图形解决方案。
本文介绍了英特尔® 图形助推器(英特尔® GMA 3000 和 X3000)的基本情况,并提供了一些开发技巧和窍门,以确保您的客户拥有充足的时间来畅玩游戏和运行其它交互式 3D 图形应用。我们热烈欢迎 ISV 社区和其他客户提供反馈意见。请访问 /en-us/forums/user-community-for-visual-computing
发表您的反馈。
英特尔® GMA X3000 是能够针对 Shader Model 3.0 进行硬件顶点处理的第一代英特尔集成显卡。此外,以前的硬件只能提供 DirectX 9.0 特性和 OpenGL 1.4 一致性子集,现在 GMA X3000 改进了这一特性集,包括完整的 DirectX9.0C/Ex 特性集和 OpenGL 2.0。X3000 显卡的内核频率提高到了 667 Mhz,系统可用的最大内存也从 224 MB 扩大到了 384 MB。这样就可以存储更多的纹理、更大的顶点缓冲和模型。最后,内存带宽峰值高达 12.8 GB/秒,较前代台式机英特尔集成显卡提高了 20%。GMA X3000 显卡可支持 Windows XP* 和 Windows Vista* 两款操作系统。
下表总结了上述改进:
|
特性 |
2005 / 2006 |
2006 / 2007 |
2007 |
2007/2008 |
2007/2008 |
|
平台(台式机/笔记本电脑) |
英特尔® 945G / 945GM 芯片组 |
英特尔® G965 (X3000)芯片组 |
英特尔® GM965 (X3100)芯片组 |
英特尔® G31/G33 芯片组 |
英特尔® G35 芯片组 |
|
制程 |
130 纳米 |
90 纳米 |
90 纳米 |
90 纳米 |
90 纳米 |
|
可扩充的内核频率** |
400/133, 166, 222, 250 MHz |
667 MHz |
500 MHz |
400 MHz |
667 MHz |
|
内存频率 |
高达 DDR 667 的双通道内存 |
高达 DDR2 800 的双通道内存 |
高达 DDR2 667 的双通道内存 |
高达 DDR3 1066 的双通道内存 |
高达 DDR2 800 的双通道内存 |
|
内存带宽峰值 |
10.7 GB/秒 |
12.8 GB/秒 |
10.7 GB/秒 |
17.1 GB/秒 |
12.8 GB/秒 |
|
最大显存* |
224 MB |
384 MB |
384 MB |
287 MB? |
384 MB |
|
DirectX API 支持 |
DirectX 9.0C/Ex |
DirectX* 10 |
DirectX* 9.0C/Ex |
DirectX* 10 |
|
|
OpenGL API 支持 |
1.4 + 扩展 |
1.4 + 扩展 |
1.5 |
1.4 + 扩展 |
2.0 |
|
Direct*X VA 支持 |
1.0 版(LH 中为 2.0) |
2.0 版 |
2.0 版 |
2.0 版 |
2.0 版 |
|
驱动程序模式支持 |
XPDM + LDDM |
XPDM 和 LDDM(基本调度程序) |
|||
本部分将介绍关于 GMA (X)3000 主要新特性的信息,并将其与前代部件进行对比。我们将按照功能类别划分这些特性,每张表格显示一项功能的内容。最后一部分将介绍 GMA (X)3000 使用的共享内存架构。
像素着色器
|
像素着色器 |
2005 / 2006 |
2006 / 2007 |
2007 |
2007/2008 |
2007/2008 |
|
平台(台式机/笔记本电脑) |
英特尔® 945G / 945GM 芯片组 |
英特尔® G965 芯片组(X3000 系列) |
英特尔® GM965 芯片组(X3000 系列) |
英特尔® G31/G33 芯片组(3000 系列) |
英特尔® G35 芯片组(X3000 系列) |
|
像素着色器模式 |
2.0 |
3.0 |
3.0 |
3.0 |
3.0 |
|
着色精准度 |
24 位浮点 |
32 位浮点 |
24 位浮点 |
24 位浮点 |
24 位浮点 |
|
取样器最多取样数量 |
8 |
16 |
16 |
8 |
16 |
|
Shader 着色器最多指令数量 |
96 |
512 |
512 |
96 |
512 |
|
相关纹理 |
4 |
512 |
512 |
4 |
512 |
|
动态分支 |
有 |
有 |
有 |
无 |
有 |
|
纹理指令最大数量 |
32 |
512 |
512 |
32 |
512 |
纹理取样器
|
纹理取样器 |
2005 / 2006 |
2006 / 2007 |
2007 |
2007/2008 |
2007/2008 |
|
平台(台式机/笔记本电脑) |
英特尔® 945G / 945GM 芯片组 |
英特尔® G965 芯片组 |
英特尔® GM965 芯片组 |
英特尔® G31/G33 芯片组 |
英特尔® G35 芯片组 |
|
计算精确度 |
24 位浮点 |
16 位和 32 位浮点 |
16 位和 32 位浮点 |
24 位浮点 |
16 位和 32 位浮点 |
|
2d 纹理最大值 |
2000 x 2000 |
4000 x 4000 |
4000 x 4000 |
2000 x 2000 |
4000 x 4000 |
|
3d 纹理最大值 |
2048 x 2048 x 256 |
8092 x 8092 x 256 |
8092 x 8092 x 256 |
2048 x 2048 x 256 |
8092 x 8092 x 256 |
|
cube map 最大数值 |
1024 |
1024 |
1024 |
1024 |
1024 |
|
各向异性过滤最大数量 |
4 个子样品 |
多达 16 个子样品 |
多达 16 个子样品 |
4 个子样品 |
多达 16 个子样品 |
|
压缩纹理 |
DXT1、DXT3、DXT5 和 FXTn |
DXT1、DXT3、DXT5 和 FXTn |
DXT1、DXT3、DXT5 和 FXTn |
DXT1、DXT3、DXT5 和 FXTn |
DXT1、DXT3、DXT5 和 FXTn |
|
无二次幂限制的纹理尺寸 |
有 |
有 |
有 |
有 |
有 |
|
纹理渲染 |
有 |
有 |
有 |
有 |
有 |
颜色与 Z 缓冲
|
颜色与 Z 缓冲 |
2005 / 2006 |
2006 / 2007 |
2007 |
2007/2008 |
2007/2008 |
|
平台(台式机/笔记本电脑) |
英特尔® 945G / 945GM 芯片组 |
英特尔® G965 芯片组 |
英特尔® GM965 芯片组 |
英特尔® G31/G33 芯片组 |
英特尔® G35 芯片组 |
|
计算精确度 |
24 位浮点 |
32 位浮点 |
32 位浮点 |
24 位浮点 |
32 位浮点 |
|
2d 纹理最大值 |
2000 x 2000 |
4000 x 4000 |
4000 x 4000 |
2000 x 2000 |
4000 x 4000 |
|
3d 纹理最大值 |
128x128x128 |
128x128x128 |
128x128x128 |
128x128x128 |
128x128x128 |
|
cube map 最大数值 |
1024 |
1024 |
1024 |
1024 |
1024 |
|
各向异性过滤最大数量 |
4 个子样品 |
多达 16 个子样品 |
多达 16 个子样品 |
4 个子样品 |
多达 16 个子样品 |
|
压缩纹理 |
DXT1、DXT3、DXT5 和 FXT |
DXT1、DXT2-5 和 FXTn |
DXT1、DXT2-5 和 FXTn |
DXT1、DXT3、DXT5 和 FXT |
DXT1、DXT2-5 和 FXTn |
|
无二次幂限制的纹理尺寸 |
有 |
有 |
有 |
有 |
有 |
|
纹理渲染 |
有 |
有 |
有 |
有 |
有 |
顶点着色器
|
顶点着色器 |
2005 / 2006 |
2006 / 2007 |
2007 |
2007/2008 |
2007/2008 |
|
平台(台式机/笔记本电脑) |
英特尔® 945G / 945GM 芯片组 |
英特尔® G965 芯片组 |
英特尔® GM965 芯片组 |
英特尔® G31/G33 芯片组 |
英特尔® G35 芯片组 |
|
顶点纹理 |
软件 |
硬件 |
硬件 |
软件 |
硬件 |
|
例程 |
软件 |
硬件 |
硬件 |
软件 |
硬件 |
|
动态流 |
软件 |
硬件 |
硬件 |
软件 |
硬件 |
|
顶点着色器模式 |
3.0 在软件中 |
3.0 在硬件中 |
3.0 在硬件中 |
3.0 在软件中 |
3.0 在硬件中 |
动态显存
英特尔显卡采用一个共享的内存架构(通常指统一内存架构或 UMA)。在这个架构中,系统内存由显卡和系统共用。不同于目前大多数采用专用本地内存的独立显卡,该显卡可将部分系统内存分配用作显存。此外,少量系统内存将被 BIOS 永久分配用作显存。这些内存的数量通常为 1 MB 或8 MB(大部分 OEM 均设置为 8 MB)。带有 Windows Vista* 标识的系统在发运时,其预分配内存设置一般为 8 MB。
动态视频管理技术(DVMT)支持根据应用的需求将更多系统内存动态地分配给显卡使用。一旦应用关闭,分配的内存将被释放,以供系统使用。动态分配内存供显卡使用的目的,是为了确保系统性能和显卡性能之间的稳定平衡。例如,如果用户只是想编辑文本,那么就不需要显卡占用大量系统内存。在这种情况下,向系统分配更多内存就是最好的解决方案。另一方面,如果用户要启动 3D 游戏,那么就需要将更多共享内存用作显卡内存。
Windows XP*
启动时,系统的 BIOS 代码将决定永久分配给内存控制器使用的系统内存容量,选定之后,这些内存空间将永远不再返还给系统。一些系统还允许最终用户通过 BIOS 设置选项来调整该数值。操作系统启动显卡驱动程序后,将根据用户运行每个应用的要求来动态分配显卡内存。对于带有 256 MB 或更大内存空间的系统,最多可将 128 MB 内存分配给显卡控制器使用(BIOS 预留内存空间 + 驱动程序动态分配内存空间)。除此之外,全新的 BIOS 设置能够为带有 512 MB 或更大内存空间的系统提供 128 MB 的固定内存,甚至 384 MB 的内存空间。
Windows Vista*
在运行 Windows Vista* 的系统上,显卡驱动程序将忽略系统 BIOS 对于内存分配的设置,以便与 Windows XP 操作系统的要求区别开来。相反,显卡驱动程序将根据检测到的系统内存容量来分配一个固定和动态内存的组合。这样就可以支持 BIOS 厂商为 Windows XP* 和 Vista 系统创建统一的系统 BIOS。具备一定数量的固定内存空间,可确保驱动程序能够从当前的模式转换到任意支持模式。对于带有 512 MB 系统内存的系统(Windows Vista* 的最低要求)而言,驱动程序将分配 32 MB 的固定显存(8 MB 用于预分配)和高达 32 MB 的动态显存,这样显存总容量达 64 MB。如果系统内存超过了 768 MB,那么显卡驱动程序将分配 64 MB 的固定显存,其余内存则根据系统内存容量进行动态分配。下表说明了具体内存分配情况。
|
系统内存 |
固定内存 |
动态内存 |
总计 |
|
512 MB |
32 MB |
32 MB |
64 MB |
|
768 MB – 1023 MB |
64 MB |
64 MB |
128 MB |
|
1024 MB – 1525 MB |
64 MB |
192 MB |
384 MB |
|
>=1536 MB(G965、GM965、G31、G33、G35) |
64 MB |
320 MB |
384 MB |
GMA X3000 采用全新的架构设计而成,通过使用完全可编程、可扩充的执行单元阵列,对以前的英特尔显卡架构进行了改进。凭借这一可扩充的设计方案,您无需大规模更改架构,即可随着制造能力的提高而轻松添加大量执行单元,从而在统一而稳定的平台上获得更高的性能水平。
GMA X3000 架构标志着我们已经进入了区域渲染架构时代。尽管我们在很大程度上保留了系统架构的整体风貌,但是为了超越由区域渲染提供的优势,我们仍然对该架构的显卡特性进行了大量的改进。列表显示,显卡的孔径尺寸有所扩大,内核主频提升至 667 MHz,而系统总线速度也提高到了 1066 MHz。
图 2:芯片组布局(包括 GMCH、ICH 和主内存)。
通过 GMA X3000 着色器执行架构的高级可编程能力,您可以获得比区域渲染更高的性能。鉴于具有此性能和同时执行顶点和像素着色器程序的能力,该架构通常被称为“统一着色器架构”。该架构的优点在于,其应用于顶点和像素的处理能力可根据具体应用帧的要求进行动态平衡。在包含大型三角形的帧上,缺少统一着色器的架构可能会导致顶点着色器被闲置,而像素着色器过载。反之,在包含许多小三角形的帧上,则可能会出现像素着色器被闲置,而顶点着色器过载的情况。而这种统一方案可以根据需要将执行单元分配给顶点或像素,这样可以最大限度减少空置的执行单元,并提供更出色的性价比。从理论上讲,没有哪位最终用户愿意购买在多数时间里被闲置的芯片。
图3:G965、GM965 和 G35(X3000)管线
|
阶段 |
执行的功能 |
|
命令流 |
此阶段负责管理 3D 管线并沿 3D 管线传输命令。此外,它能够从内存缓冲中读取“常数据”并将其放入芯片内存中。 |
|
顶点取样 |
此阶段负责从芯片内存读取顶点数据,重新确定格式,并将结果写入芯片内存中新的顶点条目中。 |
|
顶点着色器 |
顶点着色器阶段负责将进入的顶点传输至顶点着色器线程,对其进行处理(着色)。每条线程都对应一个核心程序,执行一项或多项下列操作: |
|
夹子单元 |
此阶段的功能分为两部分执行。首先,芯片单元的固定功能部分负责将输入的基元分类为下列三种状态: |
|
数据条/风扇单元 |
此阶段的功能分为两部分执行。首先,数据条/风扇单元的固定功能部分负责: |
|
Windower/Masker |
此阶段的功能分为两部分执行。首先,Windower/Masker 单元的固定功能部分执行基元光栅化过程。然后生成一条像素着色器线程,为基元的像素着色。 |
|
取样器单元 |
该单元可为内存中的纹理表面提供高级的取样和过滤能力。它能够执行下列功能: |
商用 SKU 与家用 SKU 之比较
鉴于不同的用户具有不同的显卡需求,因此这一代显卡解决方案可应用于多种 SKU 之中。企业用户通常不会运行 3D 图形密集型应用,因此无需具备与想玩视频游戏的用户相同的能力。
|
SKU |
GMA 3000 |
GMA X3000 |
|
执行单元数量 |
8 个 EU(667 MHz) |
8 个 EU(667 MHz) |
|
内存通道 |
2 |
2 |
|
DDR2/ECC 支持 |
DDR2-800 |
DDR2-800 |
|
顶点着色器 |
CPU |
GPU |
|
Early Z 特性 |
有 |
改进版 |
|
相关纹理 |
有 |
改进版 |
|
遮面查询 |
无 |
有 |
|
DX9 着色器模式(SM) |
SM2.0 |
SM3.0 |
|
浮动 RT/混合 |
无 |
有 |
|
高清晰度回放 |
MP2 |
MP2 / VC1 |
与其它更加昂贵的解决方案相比,GMA X3000 更倾向于限制填充率。处理这种情况最简单的方法就是为用户提供选择更低分辨率和更少填充效果(如阴影)的选项。能我们将在下文中对那些能够改进用户体验的更优解决方案进行详细讨论。
技巧:为用户提供减少填充要求的选项。
推荐原因:与其它更加昂贵的解决方案相比,Gen4 更倾向于限制填充率。
实施方法:处理这种情况最简单的方法就是为用户提供选择更低分辨率和更少填充效果(如阴影)的选项。我们将在下文中对那些能够改进用户体验的更优解决方案进行详细讨论。
技巧:支持先进的单程着色器而不是简单的多程着色器
推荐原因:GMA X3000 倾向于限制填充率,而不是限制计算。这就意味着,当面临选择使用更简单的多程着色器模式,还是更先进的单程着色器模式时,我们总是支持选择先进的单程着色器。GMA X3000 本身就支持 SM3.0 等先进的着色器模式。它可以有效地执行这些模式,并在通过简单的着色器处理多程时倾向于限制填充率。
技巧:充分利用 Early Z 特性来减少填充需求
推荐原因:GMA X3000 硬件能够先在像素上执行 Z 测试,然后再将其发送到像素着色器或者渲染目标;这一特性被称为“Early Z”。如果片断未能通过 Z 测试,则将被立即丢弃,以避免任何额外的纹理或帧缓冲存取。
实施方法:Early Z 将自动随时为您服务。要想最大限度地发挥 Early Z 的优势,应尽量运行标准 Z 测试,避免通过像素着色器处理 Z 缓冲。显然,如果在运行像素着色器之前没有进行 Z 测试,那么您就无法避免通过 early Z 运行像素着色器。另一种提升 early Z 性能的常用方法是按照从前到后的顺序渲染场景。如果能够完成上述处理,就能够有效地将深度复杂性降低至1,从而节约大量填充率。然而,被迫从前到后进行排序可能会导致其它状态变化和纹理高速缓存缺失,所以这种方法的优势需要与性能进行平衡。因此,这种方法通常更适合于共享常用纹理和其它渲染状态的单一团队和分类对象。请切记:如果深度复杂性较低或者使用非常简单的单一纹理着色器时,从前到后渲染和 early Z 可能收效甚微。
技巧:使用 Gen4 的遮面查询
推荐原因:GMA X3000 支持 D3D 遮面查询功能,可用于减少透支。
实施方法:参见 IDirect3DDevice9::CreateQuery()。这种查询功能可用于计算通过 Z 测试的像素的数量。这样您就能确定通过渲染其边界框是否可能使对象成为可见对象。如果查询返回结果为零,则边界框不可见,因此无需渲染对象。这样,当其应用于复杂对象(如由成百个树枝和树叶组成的大树)时,就可提供大幅性能提升。但是,该技巧不宜用于简单对象,因为边界框测试比单纯进行对象渲染要昂贵得多。在渲染边界框时一定要关闭 Z 写入和色彩写入。
技巧:考虑在颜色隔离(color pass)之后进行 Z 单一隔离(only pass)
推荐原因:当使用较长的复杂像素着色器时,要最大限度减少被渲染像素的数量,以便使着色器总体计算时间保持在合理的范围内,这一点很重要。
实施方法:完成上述工作的一种方法是对场景内的所有对象执行初始 Z 单一隔离(这就意味着没有色彩缓冲写入或像素着色器执行)。然后打开阴影,进行第二次隔离。随后 early Z 测试将消除在所有非可见像素上的工作。但是这种方法不适合于简单的单一纹理着色器,因为两次隔离的成本会远远超出成本相对较低的简单着色器渲染。
技巧:上述方法结合使用可获得最大优势
推荐原因:这些方法可以相互配合,从而节省更多填充率。
实施方法:Z 单一隔离与从前到后分类法搭配使用,可减少 Z 填充要求。由于这是 Z 单一隔离,因此您无需考虑由分类产生的状态变化开销。在面向复杂对象的 Z 单一隔离中添加带有边界框测试的遮面查询,可进一步改进其性能。当确定在 Z 隔离中不可见的对象之后,一定要进行标记,以便在最后的色彩隔离中跳过这些对象。
技巧:减少内存带宽
推荐原因:这样可以提高应用性能和交互能力。
实施方法:下面的列表介绍了几种减少内存带宽的方法——使用压缩的纹理、在分配表面、缓冲或纹理内存时使用 D3DPOOL_MANAGED 或 D3DPOOL_DEFAULT、降低纹理尺寸或质量、使用细节等级、通过使用高效的筛选算法来减少内容占用的空间。针对 GMA X3000 的编程
创建 DX9 设备和识别 GMA X3000
以下代码片断是初始化 GMA X3000 设备的一种方法。它说明了用户如何检查硬件 T&L 特性是否存在,以及在可用的情况下如何打开该特性。此外,此例还介绍了如何切换到软件顶点处理,以支持传统的集成显卡硬件。
DWORD SetVertexProcessingMode( LPDIRECT3D9 pD3D )
{
DWORD vertexprocessingmode; // vertex processing mode
D3DCAPS9 caps; // Device CAPs structure
D3DADAPTER_IDENTIFIER9 adapterID; // Used to store device info
// Retrieve device capabilities
if( g_pD3D->GetDeviceCaps( 0, D3DDEVTYPE_HAL, &caps ) != D3D_OK )
{
return E_FAIL; // exit if reading caps fails...
}
// Check if hardware T&L is supported...
// - The D3DDEVCAPS_HWTRANSFORMANDLIGHT capability should
// be enabled for GMA X3000
if ( ( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ) != 0 )
{
vertexprocessingmode = D3DCREATE_HARDWARE_VERTEXPROCESSING;
}
else
{
// Check vendor and device ID and enable software vertex
// processing for Intel(R) Graphics...
// Gather the primary adapter's information...
if( g_pD3D->GetAdapterIdentifier(0,0,&adapterID ) != D3D_OK )
{
return E_FAIL;
}
if ( ( adapterID.VendorId == 0x8086 ) && // Intel Architecture
( adapterID.DeviceId == 0x2A02 ) || // GM965 Device 0
( adapterID.DeviceId == 0x2A03 ) || // GM965 Device 1
( adapterID.DeviceId == 0x29A2 ) || // G965 Device 0
( adapterID.DeviceId == 0x29A3 ) || // G965 Device 1
( adapterID.DeviceId == 0x27A2 ) || // 945GM Device 0
( adapterID.DeviceId == 0x27A6 ) || // 945GM Device 1
( adapterID.DeviceId == 0x2772 ) || // 945G Device 0
( adapterID.DeviceId == 0x2776 ) || // 945G Device 1
( adapterID.DeviceId == 0x2592 ) || // 915GM Device 0
( adapterID.DeviceId == 0x2792 ) || // 915GM Device 1
( adapterID.DeviceId == 0x2582 ) || // 915G Device 0
( adapterID.DeviceId == 0x2782 ) || // 915G Device 1
{
vertexprocessingmode = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
}
else
{
// Chipset does not meet minimum requirements...
return E_MINSPEC;
}
}
return vertexprocessingmode;
}
设备功能
列出所有显卡硬件能够支持的全部设备功能是一项浩大的工程。检查具体显卡设备功能最简单的方法就是使用 DirectX Caps Viewer,只需将 DX SDK 安装到系统上便可使用该功能。这样可以提供在运行 DirectX 驱动程序时显卡每项功能的详细信息。使用此模式时,一定要选择代表运行显卡驱动程序的模式的正确适配器格式。例如,D3DFMT_X8R8G8B8、全屏、窗口模式等等。
图 4:DirectX Caps Viewer 的屏幕快照。左侧为功能主题列表,右侧为此硬件报告的详细能力位(caps bits)。
查看可用内存
在实际执行应用前通常需要对可用的自由显卡或显存的空间进行检查。借助英特尔集成显卡设备(根据应用要求)进行动态显卡内存分配的优势之一,就是您能够确保您了解真正可用于显卡设备的所有内存空间。内存检查仅提供可用的“本地”显卡内存空间,而不会提供适合于英特尔集成显卡设备的具体数值。要想准确检测可用于英特尔集成显卡设备的内存容量,则需要查看总体可用显存。GMA X3000 上的所有显存,甚至包括动态分配的 DVMT 内存,都将被视为“本地内存”。
“非本地显存”将显示为“零”。这一信息不应被用于确定“AGP”或“PCI Express”的兼容性。
下面的代码片断列出了准确检查 DirectX 9 内图形控制器的可用内存空间时所需调用的函数:
int AvailableTextureMem = g_pd3dDevice->GetAvailableTextureMem();
GMA 3000 支持 DirectX 9.0C/Ex。它还支持 DirectX9.0C/Ex 版本随附的 HLSL 编译器版本。
GMA X3000 的故障排除
微软和其他厂商提供了若干工具帮助解决 X3000 问题。微软的 DirectX
* 调试运行时将向您的调试器发送非常实用的输出结果。很多情况下,它甚至会提供关于改进性能的建议。
如何记录可疑的驱动程序 Bug 或特性请求
视频微端口、显示器和 3D 加速驱动程序在不断演进的过程中,常常会出现新的特性和性能改进方案。由于这些驱动程序较为复杂,所以时常会突然出现 bug。因此,显卡架构团队正在决定未来产品中将包含哪些特性。作为客户,您的反馈意见非常重要。
值得一提的是,开发人员最初认定的许多驱动程序 bug 结果却成了其应用中的配置缺陷,会出现在所有具有类似功能的任何硬件上。例如,如果 bug 仅出现在英特尔硬件上,那么问题可能是应用缺陷。该缺陷仅在利用软件顶点处理时才会出现。迫使第三方显卡使用类似于英特尔设备的功能时,通常会暴露应用的缺陷。
如果您有需要记录的特性请求或 bug 报告,那么您的第一联系人应该是贵公司的主要英特尔公司联系人,通常为战略关系经理(SRM)或开发商关系经理(DRM)。如果贵公司没有这样的人,该角色可能由您的出版商担当。另外,您的 CPU 和优化信息也应提交给该联系人。
您的联系人属于英特尔产品软件解决方案团队。他们将进行一系列的调查研究,在确认问题确实由英特尔硬件或软件(驱动程序)造成后,他们将与英特尔® 台式机平台事业部 ISV 支持团队开展合作,该团队将对问题进行调试。
网站及工程设计支持 
软件开发人员请访问我们的论坛:/en-us/forums/user-community-for-visual-computing 发表关于英特尔集成显卡芯片组解决方案全部产品线的问题/评论。
游戏程序员可访问 http://www.intel.com/software/games 网站,参阅有关多线程和音频等方面的众多实用文档。
芯片组设备 ID
|
芯片组 |
设备 ID 0 |
设备 ID 1 |
|
英特尔® 915G 高速芯片组 |
2582 |
2782 |
|
英特尔® 915GM 高速芯片组 |
2592 |
2792 |
|
英特尔® 945G 高速芯片组 |
2772 |
2776 |
|
英特尔® 945GM 高速芯片组 |
27A2 |
27A6 |
|
英特尔® G965 芯片组 |
29A2 |
29A3 |
|
英特尔® GM965 芯片组 |
2A02 |
2A03 |
|
英特尔® 946GZ 芯片组 |
2972 |
2973 |
|
英特尔® Q965/Q963 芯片组 |
2992 |
2993 |
|
英特尔® Q35 芯片组 |
29B2 |
29B3 |
|
英特尔® G33/G31 芯片组 |
29C2 |
29C3 |
|
英特尔® Q33 芯片组 |
29D2 |
29D3 |
注:设备 ID 采用十六进制格式。

