arzh-CNenfrdejakoplptesuk
搜索找到4120  社会讨论  tg2 f2 lin2 in2 X 图标 3 y2  p2 TIK steam2

3DMark 2005

与 3DMark 03 相比,新出炉的 3DMark 05 体积增长了 280 倍,现在存档占用 633MB,展开状态占用 2MB。 系统要求也发生了变化。 现在,它需要至少 512 GHz 的处理器、至少 128 MB 的 RAM,以及支持第二版像素和顶点着色器的图形加速器,内存至少为 XNUMX MB。

 

3DMark 2005

YOM:2006
开发商:Futuremark Corporation
平台:PC
最低系统要求:
操作系统:微软 Windows 2000或XP操作系统
处理器:支持 MMX 的 x86 兼容处理器,2000MHz
内存:(推荐 512MB)
DIRECTX:DirectX9.0c 或更高版本(必需)

DirectX9 和着色器模型

随着 GPU 功能的发展,开发人员必须利用其额外功能来提高场景质量并获得额外性能。
DirectX 的创建者 Microsoft 在允许两个领先的 GPU 开发人员生成一整套着色器模型方面非常灵活,这些模型利用了超出 Shader Model 2.0 基本要求的高级 GPU 功能。 业界需要一种标准化的方法来扩展 DirectX 9 的核心功能,结果就是 Shader Model 2.0a、Shader Model 2.0b 和 Shader Model 3.0。

例如,在 Far Cry 使用模型 3.0 像素着色器计算照明时,一次最多计算 4 个光源,使用模型 2.0b 时 - 计算 3 个,使用模型 2.0 时 - 计算一个光源。

因此,随着游戏向新开发方式的转变,出现了一种新的性能评估方法:不是在完全相同的条件下测试显卡,而是需要为每个特定的加速器使用最充分利用其能力的着色器模型. 这就是 Futuremark 的开发人员看到 3Mark05 的方式。

3DMark05:路径的阶段

Futuremark 将其基准称为“玩家的基准”,不断增加对新技术的支持并开发其 3DMarks 的功能。 Futuremark 的测试包于 1998 年末首次出现,随着时间的推移,它已成为衡量显卡性能和评估各种人群(从普通爱好者到大公司经理)的主要工具。

3DMark99 - 专注于纹理和多边形处理的速度。
3DMark2000 - 获得对多边形硬件转换的支持,随之增加了场景的复杂性。
3DMark2001 - 获得了对顶点和像素着色器 1.1 的支持,并进一步增加了场景的复杂性 - 现在场景中存在数万个多边形。
3DMark03 - 使用着色器 1.x 和 2.0。 只有一项游戏测试根本没有使用像素着色器。 所有其他游戏测试都广泛使用了 DirectX8 像素和顶点着色器,而最后一个也是最困难的游戏测试大量使用了 Model 2.0 着色器。 场景的复杂性已增加到数十万个多边形。
3DMark05 - 将技术水平提高到更高。 该软件包仅使用模型 2.0 和更高版本的着色器,并且所有着色器都可以在与模型 2.0、2.0a、2.0b 和 3.0 对应的任何配置文件中执行。 场景的复杂性增加了:现在,平均而言,帧中可以有超过一百万个多边形。

3DMark05 和之前版本的测试包的主要区别在于使用了至少 2.0 型号的着色器以及为每个显卡选择了最佳渲染路径。
Futuremark 的 Patric Ojala 给出了这个例子:“我们使用了几个自定义着色器,例如,在第一次播放测试中,模型 3.0 对应的着色器使用动态执行控制,并在检测到表面不亮时停止。 另一个例子是使用深度模板纹理的着色器。”

图形引擎:使用着色器

Futuremark 之前的 3DMark 版本使用了 MAX-FX 的修改版本,但对于 3DMark05,该公司开发了一个新的图形引擎。 场景中使用的所有着色器都是用高级语言——HLSL 编写的。 这些着色器不会直接执行,在被发送到加速器之前需要对其进行编译,即翻译成 GPU 及其驱动程序更容易理解的语言。 DirectX 提供了多个配置文件 - 着色器编译器的多个最佳配置,专为具有不同功能的 GPU 而设计。 所以,比如说,对于 ATI RADEON 9700 PRO 配置文件 PS 2_0/ VS 2_0 将被使用,对于 NVIDIA GeForce 6800 Ultra – PS 3_0/VS 3_0。 最新一代的 GPU 超过了 DirectX 9.0 的基本要求,虽然它们支持较低的配置文件,比如 PS 2_0/VS 2_0,但它们将默认使用最能利用其功能的配置文件。 这同样适用于将在 3DMark05 发布后出现的图形处理器 - 对于它们,将根据驱动程序提供的功能列表选择充分利用其功能的配置文件。

因此,在测试包的新版本中,Futuremark 进一步远离了在完全相同的条件下比较显卡的想法。 这并不奇怪:所有现代显卡都支持 DirectX 9.0 的基本要求,但在基本要求之上,都具有完全不同的功能。 将它们放在相同的条件下是不正确的:在不同情况下,这些相同的条件对于某些显卡来说是最佳的,而对于其他显卡则不是最优的。 而不是所有这些,3DMark05 通过为每个 GPU 选择功能最多的配置文件来充分利用每个视频卡的功能。
尽管如此,对于那些仍然对在相同条件下比较视频卡的工作感兴趣的人来说,已经引入了选择用于编译 HLSL 着色器的配置文件的能力。 这样您就可以使视频卡使用功能较少的配置文件,例如 NVIDIA GeForce 6800 Ultra 不会使用着色器 3.0,但场景渲染速度当然会发生变化。

图形引擎:CPU 使用率

在游戏测试中,Futuremark 的新软件包除了为场景构建准备数据外,不使用 CPU 资源。 也就是说,在游戏测试中没有与游戏物理、逻辑或 AI(“人工智能”)相关的计算。
普通游戏中的大多数内置测试都以相同的方式组织:在播放演示期间记录和测量速度、AI、物理等。 关掉。 例如,在 Doom3 中,内置测试就是以这种方式组织的。
所以,在游戏测试中 CPU 资源的使用方面,Futuremark 的开发者试图更接近真实的游戏测试,而这种做法似乎是很有道理的,因为 3DMark 首先是对显卡的测试,而不是 CPU .

图形引擎:阴影计算系统

动态阴影出现在 3DMark 2001 场景中 - 引擎使用投影阴影贴图。 在 3DMark03 中,在第二次和第三次测试中,图形引擎切换到了不同的阴影渲染方式,与“伟大而可怕”的 Doom3 使用的相同——计算限制阴影区域的体积,并使用模板缓冲区来确定物体的光照。
在 3DMark05 中,开发人员放弃了这种计算阴影的方法 - 虽然提供了出色的质量,但它仍然存在许多缺点。 对于每个应该投射阴影的对象,您需要创建它的“阴影体积” - 一个多边形模型,其从光源一侧的面是对象本身的边缘,从侧面 - 的轮廓物体从光源延伸到无限远。 找到构成物体轮廓并受到挤压的面是 CPU 执行的一项艰巨任务,而且物体越复杂,即计算中包含的多边形越多,创建所需的时间就越多“影子量”。
进一步使用这些不可见的“阴影体积”与将它们绘制到模板缓冲区中的需要相关联,这在渲染速度方面显着增加了 GPU 的负载。 投射阴影的对象越多,GPU 的负载就越大。

3DMark05 中使用的阴影计算方法没有这些缺点。 3DMark05 使用一种称为“透视阴影贴图”PSM 的阴影贴图来计算动态阴影,并通过自己的修改将其特征缺陷的表现降至最低。
使用阴影贴图计算动态阴影时,构建场景的阶段如下所示:

-首先,场景是根据光源的位置构建的。 在构建时,不使用纹理、像素着色器等,因为在这个阶段需要的只是 Z 值,即场景像素与光源的距离。 每个像素的此值以浮点格式写入输出缓冲区。 这个缓冲区的大小越大,数据表示格式越准确,结果就越好。
-计算完阴影贴图后,按照通常的方式从摄像机的位置构建场景。 为了确定像素的光照,使用了像素着色器:在着色器中,对于场景的每个像素,确定阴影贴图的对应像素,并计算场景像素到光源的距离。 如果该距离等于或小于存储在阴影贴图中的值,则该像素被照亮。 如果这个距离更大,那么很明显,在计算阴影贴图时,场景中的某些元素竟然更靠近光源,而像素竟然被着色了。

使用 PSM 计算阴影的主要优点是使用阴影贴图计算动态阴影,不需要 CPU 进行额外的计算,并且计算的数量不取决于场景的复杂程度——看不见,但会消耗资源的“阴影”卷”没有添加。
现代像素处理器支持长而复杂的着色器,它允许一次通过一次确定与多个光源相关的每个像素的着色,即进一步减少工作量。
此外,这种方法使用像素处理器,其性能最近一直在以最快的速度增长——比顶点处理器的性能更快, CPU、内存总线速度或纹理采样率。

当然,这种方法有其自身的弱点,但 Futuremark 的开发人员保证他们的 PSM 修改非常适合各种场景和光源。
定向光源的阴影贴图以 2048x2048 的分辨率计算,阴影贴图以浮点格式保存,R32F 或 D24X8。 对于这些灯光,图形引擎会计算两张阴影贴图,一张用于靠近相机的物体,一张用于场景的其余部分。 因此,在阴影最明显的地方,即靠近相机的地方,可以提高阴影计算的准确性,并且保留了为场景的其余部分计算阴影的能力。 然而,即使这样有时也不足以完全避免伪影的出现——在第三次 3DMark05 游戏测试中,阴影伪影在几乎与太阳光线平行的岩石区域上很明显。

3DMark 2005

注意飞船“鳍”附近的电缆投射的阴影,以及峡谷壁的碎片。

3DMark 2005

开发人员注意,这些不是驱动程序错误或硬件问题,这是阴影映射方法的弱点之一的体现。
对于非定向光源,3DMark05 图形引擎构建了 32 个 R512F 格式 512x6 大小的阴影贴图,将光源放置在一个假想立方体的中心,为这个立方体的 XNUMX 个面构建阴影贴图,从而将这种情况减少到定向光源的情况。

在存在对百分比最近过滤(PCF)和深度模板纹理(DST)的硬件支持的情况下,从像素着色器中的阴影贴图中选择值是使用 PCF 执行的,也就是说,实际上是使用通常的双线性过滤,而如果没有PCF的硬件支持,则直接在shader中进行过滤,为此,从阴影贴图中选取最接近参考点的4个值进行平均。
这些方法在性能和图像质量方面都提供了略有不同的结果,但 Futuremark 的开发人员相信,应尽可能使用 DST 和 PCF,即阴影贴图的硬件支持和硬件过滤,因为大多数主要游戏开发者已经在使用这些 GPU 功能,未来对这些功能的需求只会增加。

所以,足够的细节。 最后,让我们继续对测试的描述。

游戏测试 1:返回 Proxycon :

第一个游戏测试绝对属于动作游戏部分:太空海盗再次袭击Proxycon货船。

3DMark 2005

3DMark 2005

反映经典射击游戏场景的《游戏测试1:重返Proxycon》将相当大的房间与狭窄的走廊相结合,大量步兵同时战斗,使游戏情况更接近多人游戏。

Game Test 1: Return to Proxycon 中的大多数表面都使用着色器定义的“金属”材质和 Blinn-Fong 光照计算。 计算所需的指数不在着色器中进行数学计算;而是使用预先计算的表中的样本。
该场景总共有 8 个投射阴影的光源:2 个定向光源,计算 2048x2048 的阴影贴图,以及 512 个非定向光源,计算 512x6xXNUMX 的阴影贴图。

游戏测试 2:萤火虫森林:

这个测试是使用大量植被的开放空间场景的一个很好的例子。 场景比较小,但是细节丰富到了极致。
月光之夜。 地上长满了茂密的草,树枝在微风中微微摇曳……

3DMark 2005

3DMark 2005

地面上茂密植被的显示是以动态的方式实现的:地面植被的浓度和细节水平随着摄像机的移动而变化。 草叶仅在需要的地方显示,这使您可以减少 GPU 上的负载,同时将视觉体验保持在最高水平。 

此测试中的地表使用第一个测试中的“金属”着色器进行渲染,但添加了基本和详细的颜色/法线贴图。 树枝材质不使用凹凸贴图和高光贴图,而是使用颜色立方体贴图。 天空是使用模拟光散射的着色器渲染的。
月光是一种投射动态阴影的定向光源。 使用分辨率为 2048x2048 的阴影贴图计算阴影。 神奇的萤火虫以 512x512x6 的立方体阴影贴图作为全向光源照亮草地和树木。

游戏测试 3:峡谷飞行:

最后的游戏测试以大型开放空间为亮点——在这个场景中,一艘朱尔维尼安飞船漂浮在海浪之上,穿过由真正的海魔守卫的峡谷。

3DMark 2005

3DMark 2005

水面是这个场景中最引人注目的部分。 水不仅模仿反射和折射,还具有自己的透明度值,让在水柱中移动的海怪看起来就像是真的漂浮在水柱中,而不是在浑浊的折射玻璃后面。
用于渲染水面的着色器是对 3DMark03 中“水”着色器的高级修改,但水面不仅仅是一个着色器。 正确计算折射和反射,包括正确显示阴影,需要图形加速器运行六次。 着色器本身使用来自法线贴图、折射和反射的读数。 此外,体积雾用于水下物体,当它们从水面移动得更深时,它们会变得更暗且饱和度更低。

为了增强在大型开放空间中的存在效果,场景中使用了雾 - 由于它的使用,远处的岩石看起来更自然。

用于绘制岩石的着色器被开发人员称为 3DMark05 中最复杂的着色器——当与阴影计算结合使用时,它几乎不符合 2.0 模型像素着色器规范。 岩石材质使用两个基础纹理、两个法线贴图和一个基于 Lambert 模型的光照计算。
场景有一个光源——太阳。 太阳阴影是使用两张分辨率为 2048x2048 的阴影贴图计算得出的,一张贴图用于靠近相机的物体,第二张用于场景的其余部分。

 CPU 测试:

3DMark05 与 3DMark03 类似,采用 640x480 分辨率的游戏测试,禁用后期特效,并在软件中模拟顶点着色器来测试 CPU 速度。这使得测试的平衡点偏向于增加 CPU 负载,并使测试结果取决于 CPU 速度而非 GPU 速度。为了确保测试在任何系统上都以完全相同的条件运行, CPU 测试采用每秒固定帧数的场景输出模式。

3DMark 2005

 

3DMark 2005

在第一 CPU 测试开发人员为中央处理器引入了额外的计算。尽管在任何条件下,飞船穿越峡谷的飞行轨迹都是不变的,但本次测试引入了对最佳轨迹的连续计算,该轨迹将覆盖峡谷的轮廓。与此相关的计算在侧线程中执行,从而可以利用多处理器系统或具有超线程技术的处理器的功能。

3DMark 2005

 

3DMark 2005


填充率 :

该测试通过了 3DMark05 几乎没有变化。 改变的一切都是肉眼可见的:为了降低对内存带宽的要求,突出纹理的速度,开发人员将使用的纹理的分辨率降低到了最大——现在它们是无聊的“细胞”。

3DMark 2005

和往常一样,测试有两种模式:单纹理叠加和多纹理。 在单纹理混合模式下,场景有 64 个表面,每个表面有一个纹理层,而在多纹理模式下 - 8 个表面,每个表面有 XNUMX 个纹理。

像素着色器:

本次测试使用了最复杂的 3DMark05 着色器,第三次游戏测试中的岩石表面着色器。 着色器已从游戏测试中移出,仅进行了一项更改 - 此处不计算阴影。

3DMark 2005

值得回顾的是,着色器是用 HLSL 编写的,对 GPU 的基本要求与所有其他 3DMark05 测试一样,是支持模型 2.0 着色器。

开发人员指出,该测试的结果不仅取决于像素处理器的速度,还取决于内存总线的速度——该着色器大量使用大容量纹理。
作为这种着色器的内存依赖性较小的替代方案,开发人员看到了一种使用数学计算的着色器,即“动态创建纹理”,但首先,类似的着色器已在 3DMark03 中使用,其次,如Futuremark 指出,游戏开发者比着色器中的数学计算更愿意使用普通纹理。

顶点着色器:

测试由两部分组成:第一部分,测量海怪模型的简单变换速度——负责变换的着色器很可能符合 1.0 模型着色器规范,但测试遵循 Futuremark 的思想,使用DirectX 9.0。

3DMark 2005

第二个更复杂的测试版本使用复杂的顶点着色器来转换草叶。 在中央处理器计算的分形噪声设置的“风”的影响下,每片草叶都独立于其他草叶弯曲。 为了减少CPU性能、填充率等因素对测试结果的影响,尽可能优化分形噪声的计算,将草叶移离摄像头。

3DMark 2005

 批量测试:

 Batch Size Tests 是一组测试,旨在加快渲染不同大小的批次 - 由应用程序在单个 Direct3D 函数调用中发送到加速器驱动程序的多边形组。 在这些测试中的每一个中,都绘制了相同数量的多边形,但每次将多边形组合成不同大小的组:8,32,128、512、2048、32768、XNUMX 和 XNUMX 个多边形。
为了确保视频卡驱动程序不会出于优化目的将小组合并成较大的组,每个初始多边形组都使用自己的颜色绘制 - 这会导致图形管道在每个新的多边形组到达时重新启动:

3DMark 2005

3DMark 2005

3DMark 2005

3DMark 2005

3DMark 2005

3DMark 2005

该测试揭示了通过重新加载图形管道会降低多少显卡性能,并显示驱动程序和显卡在不同大小的组上的效率 - 众所周知,发送到加速器并通过一个函数调用渲染相同数量的多边形一组比许多小组更快。

3DMark 的每一次轮回都以新技术和更复杂的场景让现代显卡屈服,但从来没有伴随着“鹦鹉教派”的图像质量出现如此巨大的飞跃。 为了获得最大的印象和欣赏新的测试,当然,你需要观看演示模式——演示模式中的每个游戏场景都是一件完成的艺术品。

值得注意的是,这一次 Futuremark 按类型明确划分游戏场景,这在测试的第一眼就很明显 - 重复了 3DMark03 的情况,在不同外壳后面的第二次和第三次游戏测试在内部是相同的,确实不会发生。 所有的游戏场景都大相径庭,乍一看应该很好地反映了近期和遥远未来的游戏场景。
同样值得注意的是,Futuremark 测试具有不同功能的视频卡的新方法 - 使用 HLSL 着色器及其针对每个 GPU 的最佳配置文件可能最充分地反映了游戏行业的当前趋势。