【idea】id Software卡马克就3Dmark补丁事件表示自己看法

2017-12-28 tv资讯 阅读:

自从FutureMark推出3DMark03以来,关于DirectX9.0渲染精度的讨论话题就没有停止过,而上周末FutureMark公司推出的3DMark03 3.30补丁问题又再次把这一话题炒热了,id Software公司的领军人物John Carmark也就渲染精度问题发表了自己的看法,下面我们对John Carmark的看法进行了概要的翻译:

“在程序完成之后重新编写Shader输出的精度这种作法是绝对不可容忍的。对于程序开发人员来说,对于软件进行优化、提高效率一般来说是可以接受的,但是在改变了渲染精度之后,它可能就改变了对某一应用程序,甚至所有应用程序的运行速度,因此如果这样来比较ATi和nVIDIA速度的话,是不道义的。

我知道目前关于ATi以及nVIDIA的Shader渲染精度问题的争论非常的激烈。nVIDIA的显卡能运行于12-bit、16-bit、32-bit三种不同的精度,而ATi显卡只有一种运行模式那就是24-bit精度。当DirectX9.0和ARB_fragment_program渲染使用32-bit精度时,它们之间还没有非常准确的比较方式,因为ATi显卡只能支持24-bit一种模式运行(注:在DirectX9.0标准中,使用24-bit精度是符合要求的,但16-bit精度则不符合),因此它需要转换到24-bit精度运行。

的确,nVIDIA显卡运行于16-bit精度时的速度要快于ATi显卡,但是当nVIDIA显卡运行在32-bit精度时速度则要比ATi显卡慢。当DOOM III运行在NV30特殊的渲染精度(注:指NV30 Path,这时使用16-bit渲染精度)时,nVIDIA显卡的速度就会比ATi显卡快,而当它们都运行在ARB2模式(注:此时nVIDIA为32bit精度,ATi为24bit精度)时,ATi显卡的速度表现则会比nVIDIA显卡好。

对于目前所有的测试软件,当计算结果存储到32-bit的帧缓存的时候,nVIDIA可能分析了来自贴图、常量以及赋值的数据流,它在尽量不损失品质以及性能的情况下将很多32-bit操作转成16-bit甚至12-bit操作,这可以被接受,同时也能让所有应用软件的速度提高,但是几乎可以肯定的是,这么做将导致在Shader编译器中清除“bug”变得很困难。如果你编程时想保持尽可能的精度,你必须对每个Shader绑定进行纹理尺度验证以及跟踪顶点缓存的精度范围,这将是一个十分糟糕的架构设计。看来对nVIDIA来说,目前测试结果方面的压力已经大到他必须进行这种优化的局面了。如果真进行了过度编译器优化,我希望他们能够提供一个提示或者一个可以忽略所有优化的 “Debug Mode”程序。”

看了卡马克的上面这些话后,你有什么看法?



(pcpop)

【idea】id Software卡马克就3Dmark补丁事件表示自己看法

http://m.hzclsc.cn/anzhuo/4445.html

推荐访问:idm ide

tv资讯推荐文章

推荐内容

上一篇:【联想主机内部】联想内部争议放弃“1+1” 去留再次成悬念 下一篇:笔记本安装linux系统|Linux笔记本需求惊人:戴尔与HP同台竞争