Shader频率 百科内容来自于: 百度百科

shader频率简介

shader频率=着色器频率,即显示芯片内部实际负责渲染部分的频率,是显示核心中对性能影响最大的指标。
shader=着色器,渲染器
shader频率和GPU核心频率显存频率一样重要甚至更重要,若进行显卡超频,超流处理器频率可以获得更大的性能提升,而产生的多余热量要小于给GPU及显存超频产生的热量。

shader频率详解

Shader是描述虚拟对象表面材质应该如何进行着色的一段叙述,在Dev中,shader的着色完全交由GPU(Graphic Processor Unit)进行,并针对每一个Vertex或是Pixel做计算,因此,Shader可以再区分为顶点着色器(Vertex Shader) 与像素着色器(Pixel Shader)。要特别注意的是,目前市场上所贩卖的显示卡,并非都有处理Shader的能力,即使有部分显示卡可以处理Shader,也要注意是不是支持最新版本的Shader,而Pixel Shader的最新版本也是3.0。
Shader 所使用的语言在一开始,是使用汇编语言,并且成功运用在XboxDirectX8上,但是,毕竟使用低阶的机器语言对于处理复杂的3D图学算法并不是一件容易的事,因此NVIDIA与Microsoft分别发展出类似C语言的语法,NVIDIA最早发展出CG,而Microsoft一直到 DirectX 9的版本才将这部分整合进---HLSL(High Level Shading Language),虽然HLSL在DirectX 8的时候就已经存在了,不过那时还只是支持汇编语言的语法。
截至目前为止,Virtools Dev支持的版本为3.0版,必须将Virtools Dev更新至 3.0.0.80,并安装DirectX 9.0C 的版本才可能执行,说可能是因为还牵涉到使用者的显卡。
Shader包含3个部分,分别叙述如下:
1. States(状态值):这部分描述着色固定流程(Fixed-Pipeline)所用到的相关变量,如材质颜色(Material Color)、材质的贴图(Material Texture)、混色方式(blending option)、预设的3D转换方式(Predefined 3D transformations)与 2D贴图坐标值转换(2D Texture coordinate transformation),或是称为 TexGen,可使用在环境反射贴图(environment mapping)上…等。
State可以说是描述材质最基本、直接的方式,state只针对每一个材质或是物体作用,而且仅止于一次,并不会对每一个顶点(vertex)或是像素(pixel)有执行的动作。
对于程序设计师而言,必须充分了解什么是「State」,才可以完全掌握Shader的制作。
2.顶点着色器指令(Vertex Shader Instructions)
顶点着色器指令定义如何运算、操作每一个已经着色完成的面所包含的顶点数据,在运算、操作过程中,GPU将只使用 State 所定义的顶点属性(如顶点颜色、顶点法向量或是贴图轴坐标…等)做计算。
3.像素着色器指令(Pixel Shader Instructions)
像素着色器指令定义如何运算、操作每一个已经着色完成的面所包含的像素数据,在运算、操作过程中,GPU将只使用「着色状态值」(Render State)所定义的像素属性(如像素颜色、像素混色或是Z值…等)做计算。
因为Virtools支持HLSL,所以之后谈的都会以HLSL为主,像是Cg / Cgfx / OLGL ...等可能会着墨较少啰
Shader Model(在3D图形领域常被简称SM)就是“优化渲染引擎模式”。事实上,Shader(渲染或称着色)是一段能够针对3D对象进行操作、并被GPU所执行的程序。通过这些程序,程序员就能够获得绝大部分想要的3D图形效果。在一个3D场景中,一般包含多个Shader。这些Shader中有的负责对3D对象表面进行处理,有的负责对3D对象的纹理进行处理。

shader版本

早在微软发布DirectX 8时,Shader Model的概念就出现在其中了,并根据操作对象的不同被分为对顶点进行各种操作的Vertex Shader(顶点渲染引擎)和对像素进行各种操作的Pixel Shader(像素渲染引擎)。
时至微软发布DirectX 10.1之后,Shader Model的版本已经有五个版本了:分别是Shader Model1.0(DirectX8.0)、Shader Model2.0(DirectX9.0b)、Shader Model3.0(DirectX9.0c)、Shader Model4.0(DirectX10)和Shader Model4.1(DirectX10.1)。
在Shader Model发展史上,从SM 1.0进化到SM 2.0称得上是真正意义上的技术革命,后者赋予了显示芯片强大的能力,人们在游戏中也领略到前所未有的视觉体验,例如水面光影和雾化等特效的出现使游戏场景更真实。相对而言,SM 2.0到SM 3.0的改进不如SM 1.0到SM 2.0的变化大,SM 3.0除了支持32bit浮点运算是亮点外,其它特效用SM 2.0也可以完成。相比原先的Shader Model 3.0,Shader Model 4.0最大指令数从512条增加到了64000条;临时暂存器数量也从原先的32个增加到惊人的4096个;允许同时对128个Texture进行操作(Shader Model 3.0只允许16个);材质texture格式变为硬件支持的RGBE格式,其中的"E"是Exponent的省略,是RGB共同的说明,这在HDR的处理上有很大的作用,摒弃了以往需要专门decoding处理HDR渲染的流程。 另外,对于纹理的尺寸Shader Model4.0也有惊人的提升,8192x8192的最高纹理分辨率比原先最高2048x2048的分辨率要高出4倍。
Shader Model 4.0另一个重大变化就是在VS和PS之间引入了一个新的可编程图形层----几何着色器(Geometry Shader)。原来的Vertex Shader和Pixel Shader只是对逐个顶点或像素进行处理,而新的Geometry Shader可以批量进行几何处理,快速的把模型类似的顶点结合起来进行运算。虽然其操作不会象Vertex Shader那样完整,只是处理器单个顶点的相关函数操作,但是这种操作却可以确定整个模型的物理形状。这将大大加速处理器速度,因为其它Shader单元将不再去需要判定数据所存在的位置,而只是需要简单的为特定区域进行操作就可以了。Geometry Shader可以把点、线、三角等多边形联系起来快速处理、同时创造新的多边形,在很短时间内直接分配给其它Shader和显存而无需经过CPU,烟雾、爆炸等复杂图象不再需要CPU来处理。从而极大的提高了CPU速度和显卡速度。游戏图象中可以出现许多精细场景,如不锈钢茶壶上清楚的反射出周围物体、超精细的人物皮肤等。
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定