注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 游侠硬件信息交流发布区 转自Chiphell: PhysX hobbled on the CPU by x87 code ...
查看: 2490|回复: 8
打印 上一主题 下一主题

[转贴] 转自Chiphell: PhysX hobbled on the CPU by x87 code (NV PhysX 以 x87 代码来拖慢 CPU) [复制链接]

帖子
584
精华
0
积分
292
金钱
688
荣誉
0
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2010-7-8 00:12:20 |只看该作者 |倒序浏览
转自Chiphell,,,
http://www.chiphell.com/thread-105304-1-1.html

原文:http://techreport.com/discussions.x/19216

Nvidia has long promoted its PhysX game physics middleware as an example of a computing problem that benefits greatly from GPU acceleration, and a number of games over the past couple of years have featured PhysX with GPU acceleration.  Those games have often included extra physics effects that, when enabled without the benefit of GPU acceleration, slow frame rates to a crawl.  With the help of an Nvidia GPU, though, those effects can usually be produced at fluid frame rates.

Nvidia 一直在推广它的 PhysX 物理游戏引擎作为 GPU 加速及其所带来的好处。过去几年有一些游戏应用了 PhysX 的 GPU 加速。这些游戏往往包括额外的物理效果,当没有 GPU 加速下开启此效果,帧速会变得非常缓慢。随着Nvidia的图形处理器的帮助,这些物理效果通常会变得顺畅。


We have noted in the past that some games implement PhysX using only a single thread, leaving additional cores and hardware threads on today's fastest CPUs sitting idle. That's true despite the fact that physics solvers are inherently parallel and are highly multithreaded by nature when executing on a GPU.

在过去我们注意到一些执行 PhysX 的游戏只使用一个CPU线程,而拥有多核与多硬件线程的 CPU 变成其余核心闲置着。这是真的,尽管事实上 GPU 运行时物理运算器本身是具有高度的并行性和多线程的。


Now, David Kanter at RealWorld Technologies has added a new twist to the story by analyzing the execution of several PhysX games using Intel's VTune profiling tool.  Kanter discovered that when GPU acceleration is disabled and PhysX calculations are being handled by the CPU, the vast majority of the code being executed uses x87 floating-point math instructions rather than SSE. Here's Kanter's summation of the problem with that fact:

如今,RealWorld Technologies 的 David Kanter 为故事展现了更多曲折之处,他通过使用英特尔 VTune 分析器工具分析了几个 PhysX 物理游戏。Kanter 发现,当 GPU 加速被禁用而 PhysX 物理计算由 CPU 处理时,绝大多数被运行的代码是使用 x87 浮点运算指令,而不是极为常用的 SSE。这里是 Kanter 对问题概括:



x87 has been deprecated for many years now, with Intel and AMD recommending the much faster SSE instructions for the last 5 years. On modern CPUs, code using SSE instructions can easily run 1.5-2X faster than similar code using x87.  By using x87, PhysX diminishes the performance of CPUs, calling into question the real benefits of PhysX on a GPU.

x87 已经被废弃了很多年,英特尔和 AMD 在过去的 5 年都建议使用更快的 SSE 指令。在现代的 CPU,使用 SSE 指令的代码可以很容易的比使用 x87 类似代码时运行快 1.5 - 2 倍的速度。通过使用 x87,PhysX 物理削弱了 CPU 的性能,这让人质疑 GPU 对 PhysX 物理真正所带来的好处。


Kanter notes that there's no technical reason not to use SSE on the PC—no need for additional mathematical precision, no justifiable requirement for x87 backward compatibility among remotely modern CPUs, no apparent technical barrier whatsoever.  In fact, as he points out, Nvidia has PhysX layers that run on game consoles using the PowerPC's AltiVec instructions, which are very similar to SSE.  Kanter even expects using SSE would ease development: "In the case of PhysX  on the CPU, there are no significant extra costs (and frankly  supporting SSE is easier than x87 anyway)."

So even single-threaded PhysX code could be roughly twice as fast as it is with very little extra effort.

Kanter 指出在技术上没有任何阻碍,在电脑上使用 SSE指令集的 CPU 不须要额外为 x87 向后兼容的需要而付出性能损耗,更重要的是SSE并不是一个封闭的技术壁垒。事实上,他指出 NVIDIA 的 PhysX 引擎已经在游戏机使用与 SSE 非常类似的 PowerPC 的 AltiVec 指令。Kanter 还预计使用 SSE 将使开发更容易:“在 CPU 运行 PhysX 物理的情况下,没有明显的额外性能损耗(坦白地说支持 SSE 反正是比 x87 容易)。”

因此,即使单线程 PhysX 物理代码也可以很容易的实现两倍甚至四倍的速度。


Between the lack of multithreading and the predominance of x87 instructions, the PC version of Nvidia's PhysX middleware would seem to be, at best, extremely poorly optimized, and at worst, made slow through willful neglect.  Nvidia, of course, is free to engage in such neglect, but there are consequences to be paid for doing so.  Here's how Kanter sums it up:

在缺乏多线程和已经老掉牙的 x87 指令集支持下,PC 版本的 NVIDIA的 PhysX 物理引擎似乎是连最简单的优化都没有做,用更坏点的揣测,它是通过故意的措施造成CPU运行缓慢。 Nvidia,当然可以继续这种做法,但是要为此付出代价的。以下是 Kanter 的总结:



The bottom line is that Nvidia is free to hobble PhysX on the CPU by  using single threaded x87 code if they wish.  That choice, however, does  not benefit developers or consumers though, and casts substantial  doubts on the purported performance advantages of running PhysX on a  GPU, rather than a CPU.

Nvidia当然可以继续运行 PhysX 物理时用单线程的 x87 代码来拖慢 CPU,如果这是他们想要的。然而这种选择将不利于开发商或者消费者,使人们对 GPU 对比 CPU 运行 PhysX 物理时的性能优势产生怀疑。


Indeed.  The PhysX logo is intended as a selling point for games taking full advantage of Nvidia hardware, but it now may take on a stronger meaning: intentionally slow on everything else.

事实上。PhysX 引擎的商标本来就是作为NVIDIA 硬件在游戏应用上的一个很大的卖点,但它现在可能暗示着另一个更重要的含义:在其他一切(非它自己的)硬件上故意拖慢。
Alienware M17x
Intel i7 QM 820 L3:8Mb 1.73G-3.02G Turbo Boost
17' RGB LED 背光 100% colour gamut 1920x1200
+ Benq E2400 HD
8Gb: 4G x2 DDR3 1333Mhz
1Tb: 500G x2 7200 rpm raid 0
Mobility Radeon HD 5870(x2) CrossfireX 1G GDDR5  @800Mhz / 4.4Ghz

使用道具 举报

帖子
584
精华
0
积分
292
金钱
688
荣誉
0
人气
0
评议
0
沙发
发表于 2010-7-8 00:23:20 |只看该作者
如果这是真的话,这个有点过分了,,,良性竞争咱欢迎。靠自己的实力产品来赢取消费者的青睐才是长久之计。一旦被人发现用损招,,,这就是太愚蠢了,,,本来对NV还挺有好感的,,,现在这么恶性竞争就有点让人不齿了,,,
Alienware M17x
Intel i7 QM 820 L3:8Mb 1.73G-3.02G Turbo Boost
17' RGB LED 背光 100% colour gamut 1920x1200
+ Benq E2400 HD
8Gb: 4G x2 DDR3 1333Mhz
1Tb: 500G x2 7200 rpm raid 0
Mobility Radeon HD 5870(x2) CrossfireX 1G GDDR5  @800Mhz / 4.4Ghz

使用道具 举报

帖子
3676
精华
0
积分
1872
金钱
1374
荣誉
3
人气
23
评议
0

板凳
发表于 2010-7-8 00:29:52 |只看该作者
厂家为了让自己领先使出点阴招也不是一次两次了,PX这垃圾东西还使坏等着被抛弃吧

CPU:Intel E3 1230 V3+TS120I      M B:Asrock H87 Fatal1ty
GPU:HIS R9 270X IceQ *2            RAM:CMZ81600C9*2
HDD:ST3T*2+M550 256G            POW:SS G650
BOX:CM RC692                           D P:DELL U2414
KEY:PLU G3000 Red                    Mouse:LOGITECH G500+GTFS

使用道具 举报

~ § Lelouch ·Vi ·Britannia § ~
游侠资深版主
『PC游戏综合区』
能天使
硬件权威
★★★★★★★★

版主勋章资深版主勋章大头像勋章白金会员勋章活跃勋章youki贡献勋章

帖子
10548
精华
4
积分
6925
金钱
3611
荣誉
78
人气
663
评议
0

地板
发表于 2010-7-8 00:33:30 |只看该作者


假期,蛋疼组了个A卡和N卡混交的双显系统,开学再换回去

我只是一个SneakerHead

使用道具 举报

游侠元老版主
深淵尖兵
兔子咀嚼樂隊指揮
★★★★★★★★★

元老版主勋章版主勋章资深版主勋章大头像勋章白金会员勋章活跃勋章勤劳之证电玩工作组荣誉勋章

帖子
17563
精华
7
积分
11400
金钱
6010
荣誉
121
人气
76
评议
5
5#
发表于 2010-7-8 00:39:26 |只看该作者
原帖由 rocketboylose 于 2010-7-8 00:33 发表


假期,蛋疼组了个A卡和N卡混交的双显系统,开学再换回去

窝窝不支持物理加速的

使用道具 举报

~ § Lelouch ·Vi ·Britannia § ~
游侠资深版主
『PC游戏综合区』
能天使
硬件权威
★★★★★★★★

版主勋章资深版主勋章大头像勋章白金会员勋章活跃勋章youki贡献勋章

帖子
10548
精华
4
积分
6925
金钱
3611
荣誉
78
人气
663
评议
0

6#
发表于 2010-7-8 00:40:14 |只看该作者

回复 #6 zealot89 的帖子



我只有活动才窝窝,一边玩蛋去

我只是一个SneakerHead

使用道具 举报

游侠元老版主
深淵尖兵
兔子咀嚼樂隊指揮
★★★★★★★★★

元老版主勋章版主勋章资深版主勋章大头像勋章白金会员勋章活跃勋章勤劳之证电玩工作组荣誉勋章

帖子
17563
精华
7
积分
11400
金钱
6010
荣誉
121
人气
76
评议
5
7#
发表于 2010-7-8 00:45:14 |只看该作者
原帖由 rocketboylose 于 2010-7-8 00:40 发表


我只有活动才窝窝,一边玩蛋去

快加入XX行会吧  24小时XX带你活动  还等什么 赶快加入吧

使用道具 举报

~ § Lelouch ·Vi ·Britannia § ~
游侠资深版主
『PC游戏综合区』
能天使
硬件权威
★★★★★★★★

版主勋章资深版主勋章大头像勋章白金会员勋章活跃勋章youki贡献勋章

帖子
10548
精华
4
积分
6925
金钱
3611
荣誉
78
人气
663
评议
0

8#
发表于 2010-7-8 00:54:25 |只看该作者

回复 #8 zealot89 的帖子




24小时?每星期有5小时就行了,没那么多时间

我只是一个SneakerHead

使用道具 举报

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

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

GMT+8, 2025-7-18 18:59 , Processed in 0.362165 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到