POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 1021|回复: 2
打印 上一主题 下一主题

看到一段关于A卡的话

[复制链接]
跳转到指定楼层
1#
发表于 2006-5-1 00:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在smth bbs看到一段话,转贴过来, 作者vouge

说实话, 这种东西光看几个3D mark的数据是看不出什么来的. 现在的GPU芯片, NV的也好, ATI的也好, 很多支持的东西都是hack出来的. 如果你在这 些芯片上做开发, 就会发现很多D3D9里要求的东西, 他们的实现都是hack.

比方说吧, ATI芯片里pixel shader的通用寄存器都是24位浮点数的, 而NV的是32位. 这个你在文档上是查不到的, 我写信问过ATI才知道. 这个会有什么问题呢? 很多需要在GPU上做通用计算的东西, 会发生精度上的问题, 特别是在做叠代运算的时候. 叠代运算的应用越来越多, 比如百万粒子和流体 模拟一类的效果. ATI的芯片会发生很严重的漂移, 不得不写额外的程序去纠正, 大大降低效率. 再举个例子, 很多ATI芯片对16位浮点贴图的filtering和blending是错的, 会将负数作为极大的正数来处理. 这样, 一个在NV上可以用一个texld完成的带线性过滤的浮点贴图采样操作, 在ATI上
则需要4个或8个texld指令才能完成; 在NV上一个DP call就可以完成的浮点frame-buffer blending, 在ATI上要两个DP call. ATI的这种问题非常多,  包括画线的时候把不应该画的第一个像素画出来, 等等. 当然, NV的hack也很多, 但是基本不会出像ATI这样的硬件错误.


这就正好解释了以前常说你永远不知道下一个时刻A卡是否还能给出正确的渲染结果,因为硬件本身有缺陷,得靠驱动来补。A卡驱动之所以让人觉得差,实际上有可能并不差,但硬件太差导致补不过来啊。
2#
发表于 2006-5-1 01:29 | 只看该作者
ATI的文档里是有关于精度的描述(这个是2003年时候的事情了),而且FP24符合微软shader model 2的要求。

现在的X1000的ALU都是fp32。

此外,NVIDIA在对付4通道fp纹理操作的时候,我记得也是需要两个cycle的。
回复 支持 反对

使用道具 举报

3#
发表于 2006-5-1 01:42 | 只看该作者
管理员就是管理员..
进来学习..
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2024-11-15 09:38

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表