注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 游侠硬件信息交流发布区 专家披Nvidia PhysX“放水”内幕
查看: 3794|回复: 0
打印 上一主题 下一主题

[转贴] 专家披Nvidia PhysX“放水”内幕 [复制链接]

帖子
534
精华
0
积分
277
金钱
4757
荣誉
1
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2010-7-8 13:06:08 |显示全部楼层 |倒序浏览
Nvidia公司一直把PhysX游戏引擎当作宣传GPU计算能力强于CPU的噱头,而且几年来多款游戏也确实采用了这种GPU加速技术,这类游戏开启 PhysX之后确实物理特效华丽不少,不过如果没有打开GPU硬件加速,只用CPU来计算物理特效,那么游戏的流畅度就会大打折扣。不过,我们曾指出,有 些这样的游戏在用CPU处理物理特效时只使用了单线程技术,而物理特效本身是可以很方便地使用类似多线程的技术来处理的,实际上在打开GPU硬加速时情况 便是如此,因此游戏厂商此举很有故意放着处理器的多核条件不用的作弊之嫌。     

    更糟糕的是,RealWorld Technologies网站的作者David Kanter最近的研究让这些游戏厂商的作弊嫌疑又加重了几分。他使用Intel的VTune进程查看工具分析了多款支持PhysX特效的游戏,结果发现当这些游戏使用CPU处理物理特效时,大部分的代码使用的仍然是老旧的x87浮点算数指令,而不是早已深入人心,并且效率高得多的SSE扩展指令,他在自己的文章中写道:
     
    x87已经在故纸堆里埋了好些年了,Intel/AMD这5年来都一直在劝说开发者使用更快的SSE扩展指令集来编写程序。在目前市面上的处理器里,SSE指令的完成同样任务的速度很轻松就能达到x87指令的1.5-2倍。而这些PhysX引擎还在使用x87指令,这显然对CPU非常不利也不够公平,让我们对GPU在处理PhysX引擎时是否真如官方宣传的那么高效率也打上了一个问号。
    Kanter还进一步分析称,这些游戏厂商在应用CPU的SSE指令方面几乎不存在任何技术上的困难,虽然x87指令的精度和兼容性会稍微好些,但是在游戏中根本不需要考虑这些问题,从开发难度上讲,使用SSE甚至还有可能会减轻开发者的负担,他表示:“单就CPU运行PhysX引擎方面讲,要使用SSE指令集一点也不费事(坦率说还有可能比用x87指令开发更省事些)。
”  
     
    也就是说,即使在PhysX引擎只支持CPU单线程处理的条件下,其实其执行性能本该也还有很大的提升空间。
     
    把缺乏多线程支持与还在使用x87指令的情况综合起来考虑,我们认为Nvidia公司的PhysX引擎用最好听的话来讲就是优化得太差,讲的难听点就是有意为之。当然PhysX引擎的主动权握在Nvidia手上,他们可以爱怎么玩就怎么玩。但是这种过火的行为也可能会带来一些恶果,Kanter在文中这样总结道:
     
    ....Nvidia可以爱怎么玩就怎么玩,不过这种行为对开发者和消费者而言毫无益处,而且也会让人们对他们口中成天挂着的什么GPU比CPU性能更好的鬼话产生很大的怀疑。
     
    PhysX Logo曾经是那些支持Nvidia显卡游戏的一大卖点,不过现在看来这个Logo似乎又有了新的一层含义,那就是让所有非Nvidia的其它硬件设备跑得更慢。
原文http://www.techreport.com/discussions.x/19216

[ 本帖最后由 Genchanter 于 2010-7-8 13:27 编辑 ]

使用道具 举报

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

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-10-7 01:18 , Processed in 0.368952 second(s), 13 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到