3D加速与2D加速

来自BetaWorld 百科

2D加速

综述

所谓图形加速,一般都是指加速渲染,比如可以把2D渲染归类为一系列“原语”:画线,画长方形等等。如果是软件自己画,即不加速,则由软件一个像素一个像 素的按照图形算法将线和长方形在“显存”上“填”出来;即是由CPU在显存上画出来的。如果加速呢?那么CPU要做的事就很少了,它只需要通过某种方 式告诉“加速硬件”,就是通常意义上的“GPU(图形芯片)”,或者嵌入式的DSP等,你希望画什么就行了,比如 emit_prim_command(quad), emit_prim_command(line),具体在显存上将像素“填”出来的工作就是由GPU来完成的。自然CPU的负担少了很多。 还有一种就是upload to screen的操作,这个也可以看作一种原语(抽象),即“BitBlt”,这种操作一般来说就是启用DMA操作就行了

一般来说,2D加速在现代的机器上是自动启动的。

3D加速

综述

为了有效地减轻CPU的负担以及提供完美的3D特殊效果,在显示卡的绘图芯片上增加直接负责3D图形处理和提供3D特殊效果的能力,这便是所谓的硬件加速能力,具有这样的芯片的显示卡称之为3D加速卡。虽然3D 技术的引进最早的初衷是应用于3D游戏,但现在不再局限于应用在令人眼花缭乱的游戏上,通用的三维技术正一步步悄悄地走近我们的生活。同时,三维软件需要统一的开发和使用平台,这方面,3D软件支持平台的开发和市场争夺正在如火如荼地进行着。

3D加速技术早在1999年就已经出现,目前市面上的大部分显卡均支持3D加速功能。

3D加速也是在Windows操作系统中开启Aero效果的必不可少的一样技术。

3D芯片也是如今最热门的话题之一,一块好的3D加速卡可以大大减轻CPU的负担,甚至可以使一块速度很慢的CPU在三维图形上的表现大大超出另一块速度虽然很快但没有好3D加速卡的CPU。虽然3D加速芯片分担CPU的处理任务的原理是大体相同的,但3D芯片的结构千差万别,有些芯片可以编程,如 Renditon公司基于RISC的Vrit和Chromatic公司的Mpact, Mpact 2,它们都采用了超长指令集(VLIW)结构。

大多数可编程3D芯片的性能依赖于驱动它的低层软件扩展程序。Rendition和Chromatic目前的芯片都支持固件(FIRM WARE)模式。OEM厂家编写自己的低级代码来加强对算法、数据结构和新特性的开发。

专业的3D加速卡有的中间件微代码模块允许系统设计者开启或关闭特定的应用,如3D图形、视频会议和电话通信等。与此不同,另外一些专业3D卡则包括专门用于实用时3D操作的 "像素管道"硬件电路,用来作纹理映射和混合,另外,RISC内核负责几何造型和滤波(Filtering),这些都极大减轻了CPU的负担。

这种硬件电路解决方案牺牲了灵活性,但通常可以获得更高的性能。当API和其它标准修改或升级时,用户都得依赖这些厂家提供新的软件驱动程序。这些就是专业的3D加速卡的3D技术解决方案。

但专用的3D解决方案并不一定适用于今天的PC机,相反,今天的3D加速卡可以以"像素泵"并行工作方式、以独立的PCI卡形式与图形卡协同工作,即当3D芯片计算出像素点位置后通过PCI总线传送到图形显示卡上。这方面的例子有:3Dfx Voodoo Graphics加速芯片和Voodoo II,Video logic的PowerVR等专用3D芯片,都要求一块现有的图形加速卡。

在实体机上开启/关闭3D加速功能

确保好你的显卡支持3D加速,然后开始。

开启3D加速

  • 【开始】---【运行】---输入【dxdiag】并回车。
  • 在【显示】选项卡中找到【Direct3D加速】,如果没有开启,点击【启用】即可。

关闭3D加速

开始-运行输入regedit进入注册表。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw新建一个DWORD项EmulationOnly,数值设置为1,然后重启就行。