热点推荐
ZOL首页 > 显卡 > 评测 > 横向评测 >

DirectX 10技术详解中

见证3D进化之路 DirectX发展历史回顾

CNET中国·ZOL 作者:中关村在线 胡川 【原创】 2006年11月09日 06:10 评论

3、整数指令集
 
   除了统一渲染架构和虚拟显存,DX10还有不少改进之处,其中最重要的莫过于整数指令集。也许你会觉得奇怪,整数指令集不是所有计算的基础吗?对于CPU而言,这是没错的,但别忘记了,当然为何引入浮点处理器和多媒体指令集,原因是图形运算需要大量的浮点指令。浮点是不精确数据类型,当寻值数据与纹理数据不符合的时候,可以采用近似值和多个数据计算的内插值来代替,对图形最终画面没有影响,此类速度也比整数要快。因此,GPU的基础恰好与CPU相反,是以浮点指令为主的。目前,着色器所处理的所有东西都需要依靠浮点运算所完成(除了静态分支预测试运算之外)。
 
   在大多数的图像处理上来说,这种处理方式是没有问题的。但进行动态分支预测或非内插式内存搜索时(比如对顶点缓存器进行定位索引时),这种浮点运算处理方式就存在很大的问题。而DX10中引入整数运算将有许多好处,比如进行动态/静态分支预测、顶点缓存定位、通用内存寻址方面,浮点是无法进行精确计算的。
 
 4、直接存取像素着色帧缓存
 
   现在的渲染模式,主要是实时渲染,每种渲染工作都是实时完成的,中间无法打断,如果我们想为图像增加数字分级、色彩校正或颜色调节等工作,只能重新进行一次计算,对整体工作造成了延时。事实上,当你读取渲染中图象的纹理数据,大多数的GPU和驱动程序都可以工作。但这属于非法操作(没有经过定义),这样的操作随时可能被中断,而开发人员通常不会使用这项功能。
 
   DX9时代的解决方案有二,第一种是使用两个独立的纹理,一个纹理用于正常工作,另一个备用纹理应付那些附加的计算,此方案的最大问题是必须占用两倍显存空间;第二种是在Pixel Shader中通过模拟混合函数的实现以上功能。ATi已经在他们的GPU芯片中加入了类似的做法,他们通过顶点着色引擎来模拟原有的固定顶点处理函数。这样就意味着GPU设计厂商需要在着色引擎上增加额外的晶体管来实现以上的功能。
 
   DX10则转向了新思路:使用了像素描影器直接存取帧缓存的方式来部分代替以前的实时渲染,某些情况下,我们可以随时中断渲染,加入我们想要的效果,再继续运算,不对整个渲染过程造成影响,使渲染变得更为灵活和可控。但并不意味着在DirectX10中进行实时渲染模式就毫无问题,并且厂商可能放弃了对这种技术的支持。那样这项技术很可能以一种备选方案出现,如此一来,程序员可能会忽略这项技术的存在而继续沿用老方法。

上一页 1 2 3 4 下一页
频道热词:华硕主板  Intel  AMD  
视觉焦点
显卡评测热点
排行 文章标题
TOP10周热门显卡排行榜
  • 热门
  • 新品