POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
楼主: shu0202
打印 上一主题 下一主题

我来告你真正的物理加速

[复制链接]
21#
发表于 2008-8-14 17:34 | 只看该作者
原帖由 lzy651 于 2008-8-14 17:15 发表
迟早物理加速卡会重新复活出来的!~~
不会是CPU,不会是GPU,他们都不时最适合的
物理加速卡如果有 nv和INTEL的那个集成规模,那甩这两家几条马路是肯定的事
就看谁能握到广泛支持的标准,物理加速卡就由谁演变


我认为以后不会有专用的物理加速卡, 这是先有鸡还是先有蛋的问题, PPU 的占用率太低,直接影响了它的支持度,而现在被收购后,已经有了数以亿计的 CUDA 产品能够实现相应的硬件支持,除此以外,PhysX也能在数以亿计的双核、多核处理器上提供直接的运行支持,现在再有人弄专用的物理加速卡无疑是傻瓜一个。
回复 支持 反对

使用道具 举报

22#
发表于 2008-8-14 17:36 | 只看该作者
原帖由 mousefire 于 2008-8-14 17:33 发表
AA 只与 ROP 有关吗?那为什么 ROP 数相同的 9800GTX 和 HD4850 的AA性能相关甚远?


那是因为 G92 的 ROP 不够 RV770 强大而不是数量上的问题,就好像 R600 的 ROP 也是 16 个,但是 AA 性能远不如前者。
回复 支持 反对

使用道具 举报

23#
发表于 2008-8-14 17:53 | 只看该作者
原帖由 Edison 于 2008-8-14 17:02 发表


GPU 物理运算都是用 shader 来跑,而 AA 求解是 ROP 来跑的,瓶颈在 shader 的情况下 ROP 的 AA 性能损耗看起来就是相当低。

SO 在D10下的统一shader都是基本不空闲的,也就是说NV挤压了GPU处理顶点、像素、几何图形等所需要的能力,来处理物理效果?而把这些东西交还给了CPU来做?这也许能解释为什么跑NV的NVIDIA PhysX Particle Fluid Demo时,CPU占用居高不下的原因了。
回复 支持 反对

使用道具 举报

24#
发表于 2008-8-14 18:02 | 只看该作者
反正现在的局面是I/N或者AN的平台可以用PhysX和Havok两种玩法,AA平台就只能Havok而已。相信THE WAY会加入很多PhysX的,AFANS一边酸去吧
回复 支持 反对

使用道具 举报

25#
发表于 2008-8-14 18:05 | 只看该作者
CPU占用率偏高,不知道为什么要通过死循环的同步方式检测计算结果。
回复 支持 反对

使用道具 举报

26#
发表于 2008-8-14 18:12 | 只看该作者
原帖由 julian110 于 2008-8-14 17:53 发表
SO 在D10下的统一shader都是基本不空闲的,也就是说NV挤压了GPU处理顶点、像素、几何图形等所需要的能力,来处理物理效果?而把这些东西交还给了CPU来做?这也许能解释为什么跑NV的NVIDIA PhysX Particle Fluid Demo时,CPU占用居高不下的原因了。


不是这样的。

统一架构是指 vs/gs/ps 的 ISA 都是一样的,因此这三类 shader 都可以在同样的 shader 单元上执行,透过硬件调度器实现 VS/GS/PS 的资源分配。

在高复杂度物理计算下,如果完全是 CPU 来完成,那么原本开发人员预计 16ms (相当于 60fps 左右)的图形/物理计算更新频率就可能变成物理运算+其他运算需要花费 100ms(10fps),而游戏场景的图形渲染依然是 16ms,由于物理运算成为瓶颈,反映出来的游戏速度实际上就是 10fps。

GPU 在这样的情况下有 84% 的时间在等待 CPU 完成物理运算。

如果有其他加速加速器协作或者使用中高端的 GPU 进行物理加速,情况就会有所不同。

以 GeForce PhysX 为例,因为是基于 CPU+GPU 的 CUDA 异构运算体系,虽然部分难以并行化的运算依然会保留在 CPU 上,但是 GPU 可以分担其中可以并行化的物理计算,此时 CPU 跑物理以及其他运算需要花费的时间可能就是 25ms(40fps) 或者更少。而 GPU 此时把原来用于等待 CPU 的 84% 的部分(例如 20%)运算资源用在物理加速就能达成吻合 CPU 25ms 运算时间的更新频率上,仍然可以有 64% 的资源用于图形运算上,于是速度可以达到 40fps。

由于剩余的图形资源依然较多,因此像 UT3 PhysX Mod, 9800GTX 使用 GeForce PhysX 依然可以在 1920x1200 4AA+16AF 的情况下达到 38FPS 的速度。

GeForce PhysX 是异构运算,是 CPU+GPU 共同达成的,而不是像 PPU 那样完全针对物理设计的 ASIC ,CPU 占用率高一点并不奇怪,而且那个 demo 是一个物理运算极高的场景,在许多现实游戏中,并不常见,当然游戏开发上还是可以在这样的环境下做一些东西出来的。
回复 支持 反对

使用道具 举报

27#
发表于 2008-8-14 18:23 | 只看该作者
恩,thanks。
不过你所说的这些是基于PX的复杂“粒子”物理运动下成立的。
对于Havok所擅长的场景物理互动来说也就未必了。当然Havok也做了一定的缩减
回复 支持 反对

使用道具 举报

28#
发表于 2008-8-14 18:32 | 只看该作者
PhysX 的物理不仅仅是 eye-candy 的粒子变化效果,也包括了墙壁碎裂等直接影响 gameplay 的物理效果:

http://www.nvidia.com/object/physx_faq.html

Currently, most of the action is limited to pre-scripted or ‘canned' animations triggered by in-game events like a gun shot striking a wall. Even the most powerful weapons can leave little more than a smudge on the thinnest of walls; and every opponent you take out, falls in the same pre-determined fashion. Players are left with a game that looks fine, but is missing the sense of realism necessary to make the experience truly immersive.

http://developer.nvidia.com/object/physx_features.html


从实现的效果上,PhysX 和 Havok 不会有什什么差别,差别在于能用到什么程度,在 CPU-only 的情况下,它们是一样的,但是如果是有其他处理器加速的话,具备加速的一方可以有更多的资源来实现更复杂的效果。

NVIDIA 现在有一个叫 APEX 的东西,能够做到动态的判断资源富裕度而决定效果的复杂度。
回复 支持 反对

使用道具 举报

29#
发表于 2008-8-14 18:48 | 只看该作者
取决于ISV想把PhysX利用到何种程度。
回复 支持 反对

使用道具 举报

30#
发表于 2008-8-14 18:50 | 只看该作者
以 GeForce PhysX 为例,因为是基于 CPU+GPU 的 CUDA 异构运算体系,虽然部分难以并行化的运算依然会保留在 CPU 上,但是 GPU 可以分担其中可以并行化的物理计算,此时 CPU 跑物理以及其他运算需要花费的时间可能就是 25ms(40fps) 或者更少。而 GPU 此时把原来用于等待 CPU 的 84% 的部分(例如 20%)运算资源用在物理加速就能达成吻合 CPU 25ms 运算时间的更新频率上,仍然可以有 64% 的资源用于图形运算上,于是速度可以达到 40fps

。。。我又看了次,我们来个推理。
使用CUDA 异构运算体系,导致——>部分难以并行化的运算依然会保留在CPU上,导致——>CPU 跑物理以及其他运算需要花费的时间,导致——>GPU等待CPU,导致——>GPU有空闲时间把运算资源用在物理加速,并且最后仅有64%的资源用于图形运算。
可见并不是GPU一定要等待CPU,只是CUDA体系要求CPU加强运算导致的一系列后果。
还有个疑问,貌似Physx也并不能完全使用CPU的时间,一个DEMO连4核都用不了,如果用上4核,GPU哪儿来的时间等待CPU?哪儿来的空闲时间计算物理?
回复 支持 反对

使用道具 举报

31#
发表于 2008-8-14 18:59 | 只看该作者
64% 是指原来剩余 84% 的资源中的部分,加上之前的16%,那就是 80% 的资源可以用于图形运算,而 20% 用于物理计算。

GPU 等待 CPU ,是复杂物理计算或者其他通用计算导致的后果,而不是 CUDA 导致的,CUDA PhysX 的引入是为了释放被闲置的资源。

这就好像在 GPU 问世以前,图形几何处理大部分是 CPU 完成,后来有 GPU 的引入, T&L以及可编程几何运算都能在 GPU 上实现,结果这时候有人跑出来说,我用 CPU 跑这些运算慢,是由于 GPU 实现了这个运算加速而导致我纯粹用 CPU 跑变得很慢的结果。

PhysX 现在已经是支持多核的,但是物理运算本身不是所有的运算都能实现并行化,并行化无法实现的部分运算也就无法充分使用所有的内核。
回复 支持 反对

使用道具 举报

westlee 该用户已被删除
32#
发表于 2008-8-14 19:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

westlee 该用户已被删除
33#
发表于 2008-8-14 19:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

34#
发表于 2008-8-14 19:12 | 只看该作者
原帖由 westlee 于 2008-8-14 19:08 发表
无法并行化的那部分是不是在多核cpu上的表现也不佳?不能充分利用cpu的运算资源?


对,物理计算是有一定的相依性,不过这部分剩余的资源可以用于 AI 、game code、audio 等部分的计算上。
回复 支持 反对

使用道具 举报

35#
发表于 2008-8-14 19:32 | 只看该作者
按你这么说,HAVOK的物理就没有难以并行化的部分了?
如果HAVOK也存在难以并行化的部分,而又没有使用GPU处理可以并行的部分,都由CPU处理,那么GPU所等待的时间更多,那么现在运行HAVOK游戏的GPU岂不是都很闲?

[ 本帖最后由 julian110 于 2008-8-14 19:34 编辑 ]
回复 支持 反对

使用道具 举报

36#
发表于 2008-8-14 19:37 | 只看该作者
原帖由 julian110 于 2008-8-14 19:32 发表
按你这么说,HAVOK的物理就无法在难以并行话的部分了?
如果HAVOK也存在难以并行化的部分,而又没有使用GPU处理可以并行的部分,都由CPU处理,那么GPU所剩余的时间更多,那么现在运行HAVOK游戏的GPU岂不是都很闲?


为了迁就 CPU 的性能,开发商在物理效果上作降低处理就可以了,这就好像 GPU 问世以前依然有不少实时 3D 游戏一样。

以后 Larrabee 问世后,Havok 也许可以在 Larrabee 上实现以 same ISA heterogeneous 的方式实现物理运算加速,但是这样的加速对于现有的 Havok 游戏来说应该意义不是很大。
回复 支持 反对

使用道具 举报

37#
发表于 2008-8-14 19:38 | 只看该作者
原帖由 Edison 于 2008-8-14 17:02 发表

GPU 物理运算都是用 shader 来跑,而 AA 求解是 ROP 来跑的,瓶颈在 shader 的情况下 ROP 的 AA 性能损耗看起来就是相当低。


这个提法貌似存在争议啊
回复 支持 反对

使用道具 举报

38#
发表于 2008-8-14 19:45 | 只看该作者
原帖由 itany 于 2008-8-14 19:38 发表
这个提法貌似存在争议啊


以 gt200 为例,它的每个 core 最多可以有 32 个 warp,每个 warp 有 32 个 thread ,这就是 1024 个thread per core,理论上可以掩藏 200+ 个周期的内存存取时间,而 ROP 完成 一个 32-bit (RGBA8) 的 4x MSAA 像素只需要一个周期,假设 color buffer compression 完全不起效,也只需要占用 128-bit per pixel 的 color 带宽,如果 color buffer compression 起效,那就是占用 32-bit per pixel 的 color 带宽,对于一个 512-bit 总线的处理器来说,只要 shader 占用率是满满的, ROP 的 MSAA 性能损失是相当低的。
回复 支持 反对

使用道具 举报

39#
发表于 2008-8-14 19:51 | 只看该作者
这帖子不错,纯技术讨论,没有口水
楼主及后面一些人的“CPU软加速”这个提法不妥,如果说利用cpu的特殊指令集加速还是可以的
回复 支持 反对

使用道具 举报

40#
 楼主| 发表于 2008-8-14 20:04 | 只看该作者
应该不完全是GPU等待CPU物理运算部分造成的速度损失,当初PPU运算也同样会大幅度降低游戏速度。也许是PhysX的模型造成频繁的数据交换造成的。完全的硬件物理加速应该不会对图形渲染部分造成性能影响。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-30 00:39

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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