帮忙指点一下GPU浮点运算的精度是多少?哪里有比较全面的资料?那又什么是Sub-pixel precision bits呢?

来源:百度知道 编辑:UC知道 时间:2024/06/13 20:45:47

CineFX为一词的由来

CineFX中的Cine-是单词Cinematic(电影般的)的前4个字母,nVidia将其CineFX Shader处理单元称为CineFX引擎,说明其GeForce FX系列GPU能够产生电影般视觉效果的动力来自于此。

CineFX技术介绍

CineFX 技术包括了Vertex Shader 2.0+和Pixels Shader2.0+两个功能单元,之所以称之为2.0+,是因为他们不但提供了符合DirectX 9.0的规范的功能,更进一步扩展了现有DirectX9.0规范,使得程序员可以获得更多的技术支持,而CineFX技术包括了CineFX1.0和CineFX2.0两种。

在CineFX中拥有FX12/FP16/FP32三种构架的精度模式,而仅FP16/FP32能符合微软DX9中对于新一代精度的定义,同时FP32才能达到DX9中高精度的需求,如果游戏开发商针对CineFX进行优化的话,在部分渲染工作中仅采用FX12和FP16的精度的确可以达到与R3XX渲染24bit效果相差无几的画面,这显然能获得更有效率的内部寄存器使用率以及更快的像素Shader指令操作速度,然而这必须要求开发商改变一些以往的编程习惯甚至于已经成为通用的一些Class Object代码,在NV3X中的纹理以及Shader核芯运算操作都是在Quads单元完成的,NV3X的纹理单元可以将两组的纹理只在一个时钟周期内放入Quad内,这可以省去在进行Loop循环式多纹理或者映射及复杂阴影渲染时所需要两个周期来调用不同的纹理而后进行纹理寻址的操作,而这个步聚操作在过往的编程过程中的习惯都是一步一步的进行的,我们可以用简单的数学表达式来说明:

A:1*3+2*3 = 9 B:(1+2)*3 = 9

在这儿借以说明的是传统的编程方式都习惯于获得一组纹理,进行纹理寻址,完成纹理操作之后再进入下一组的纹理工作,重复以上的工作顺序。而NV3X的体系则更适合获得一组纹理,再获得第二组纹理,加载纹理寻址,再加载第二组纹理寻址,之后再进行其余的纹理操作。如果有某游戏开发商更习惯并且喜欢传统方式编程的话那么对于NV3X体系来说将有一部晶体管是发挥