» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[转帖]我們終於學到了PS3做Real Time Radiosity實在是屌到不行!(非作者原标题)

引用:
原帖由 Eji 于 2007-8-14 20:59 发表


呃,說實在的,C1做這個特效並不會慢。是這時候的SPE強得異常....

其實這算是該讓很多人醒覺的時候,CELL和RSX畢竟是兩顆隔著I/O bus兩端的晶片,沒有辦法像一開始SONY講的一樣作用得這麼緊密。
頻寬也 ...
那么spe以后的主要方向会是做vertex辅助运算和物理运算?


TOP

俺火星了。。。
现在居然用rt就可以实现间接光照了?
是光能传递吗?以前稍微摸过下3dsmax...

这。。。。
当年用插件巴西渲染的装修效果图。。
就一帧也不知道等了多久啊。。。

有点不信啊。。。

对了,目前有游戏用了这个效果吗?


对了,有人觉得间接光照不好懂吗?
月光就是了~:D

[ 本帖最后由 倍舒爽 于 2007-8-15 02:17 编辑 ]



TOP

引用:
原帖由 Eji 于 2007-8-14 20:59 发表


呃,說實在的,C1做這個特效並不會慢。是這時候的SPE強得異常....

其實這算是該讓很多人醒覺的時候,CELL和RSX畢竟是兩顆隔著I/O bus兩端的晶片,沒有辦法像一開始SONY講的一樣作用得這麼緊密。
頻寬也 ...
既然RSX可以很有效率地取得SPE产生的资料,那么还是很有潜力的。另外LAIR对于CELL的图形辅助做出了什么成绩吗?


TOP

引用:
原帖由 carnon 于 2007-8-14 21:23 发表



那么spe以后的主要方向会是做vertex辅助运算和物理运算?
关键不是大家(游戏开发者)想用spe做什么,而是spe能做什么。

就目前来看物理运算是没问题的,这也算是spe作为CPU一部分的本职工作之一。但vertex transform无论如何应该是gpu的工作。假如vertex shader真的都给spe去做,rsx的vertex unit就要被迫闲置了。而且内存占用也是问题。本来这些数据都是可以放在显存里而不必占用ps3可怜的主内存的。

另外spe应该还是可以做做和gameplay无关的事情,比如生成粒子,草,等等(前提是rsx有这个能力去渲染)。

spe还可以后台解压缩,比如video/audio data streaming,background loading。

sony号称会有一个AI的middleware可以让spe执行ai,但目前还没有进一步信息。假如spe能很好的执行ai的话,对于游戏来说实用意义可以大N倍。

TOP

引用:
原帖由 ibelieveicandie 于 2007-8-15 09:52 发表
但vertex transform无论如何应该是gpu的工作。假如vertex shader真的都给spe去做,rsx的vertex unit就要被迫闲置了。而且内存占用也是问题。本来这些数据都是可以放在显存里而不必占用ps3可怜的主内存的。
有提到RSX的vertex shader在重负荷下(vertex stream 总量比较大)的工作能力很差, 所以其实SPE其实并不是做Vertex transform, 而是做per-polygon frustum culling和back face culling, 以减少vertices数量。Edge也有提到这一点。目前似乎2M/frame以下的vertices数量可以不用这样做。
但是这样就必须使用大量的dynamic buffer, sync可能会有问题, 并且很多图形数据要放在主内存中, 通过flexIO来传递。

TOP

引用:
原帖由 zhangjingy 于 2007-8-10 16:21 发表


谁说CPU不可以做了?C1呢?
知道不知道HALO3的粒子系统就是基于GPU的,而且ATI很早就展示过基于R5XX的GPGPU系统,演示的就是复杂的粒子运算,DEMO里就是20万个。真是孤陋寡闻,无知啊无知~~~

TOP

引用:
原帖由 RacingPHT 于 2007-8-15 10:55 发表


有提到RSX的vertex shader在重负荷下(vertex stream 总量比较大)的工作能力很差, 所以其实SPE其实并不是做Vertex transform, 而是做per-polygon frustum culling和back face culling, 以减少vertices数量。 ...
SPE可以做前期vertex decompress,毕竟支持整数运算,这在compress/decompress方面还是有用的;此外做模型空间骨骼动画变换也还蛮合适的。

TOP

引用:
原帖由 hourousha 于 2007-8-15 11:03 发表

SPE可以做前期vertex decompress,毕竟支持整数运算,这在compress/decompress方面还是有用的;此外做模型空间骨骼动画变换也还蛮合适的。
如果是单纯的int-float format convertion的话, 在RSX的vertex fetch中也是支持的呀。
模型变换是很好的, 这样bone的数量就几乎没有限制了。

TOP

引用:
原帖由 RacingPHT 于 2007-8-15 11:27 发表
如果是单纯的int-float format convertion的话, 在RSX的vertex fetch中也是支持的呀。
任意bit的fixed to float point format convertion不可以吧?

TOP

引用:
原帖由 hourousha 于 2007-8-15 12:19 发表

任意bit的fixed to float point format convertion不可以吧?
你能想出在多少情况下有这必要呢?

实际上,同样的绝对性能下,SPE这样的general purpose processor肯定比GPU内嵌的专用tesselation, shader, vertex fetch, ... 等units有更灵活的功能。这也是为什么我前面说“假如ps3的Cell集成16-32个SPE,加上硬件ROP以后,完全可以代替GPU”一样。但成本上,做出同样性能的通用处理器和专用处理器不是一个量级的。也就是说,在同成本和特定场合下,通用处理器的绝对性能必然大大落后于为这类场合设计的专用处理器。这也是为什么ps3 cell只能用到可怜的6个SPE,而且不得不最终选择了RSX作为图形解决方案。

TOP

引用:
原帖由 ibelieveicandie 于 2007-8-15 16:56 发表
你能想出在多少情况下有这必要呢?
实际上,同样的绝对性能下,SPE这样的general purpose processor肯定比GPU内嵌的专用tesselation, shader, vertex fetch, ... 等units有更灵活的功能。这也是为什么我前面 ...
這邊會產生另一個問題:ROP和CELL本身整合很困難,General Processing Unit和ASIC(TMU/ROP)兩邊的clock會互相影響。

G8x算是已經很厲害了,常規運作下Shader clock可以到1.5GHz,但是這個peak還是沒有達到CELL那種時脈,更別提SPE多得是可以上6GHz的測試。
而分成兩個晶片的話,I/O的頻寬和延遲都會讓運作變得很困難,所以GPU那邊怎樣都會需要一些可程式化能力。

這也是當初4PE/32SPE的CELL想單顆解決一切的最大瓶頸之一,即使它本身設計上有100GB/s的記憶體頻寬....
我們可以想像一下,4顆CELL和一個GS(I-32)合起來的話會產生多少問題。

比方說我們今天要是把CELL做成32SPE、然後GPU照樣用RSX、甚至用更簡化的Rasterizer的話,那可能會造成更多限制,
SPE不容易完全在沒有TMU輔助作addressing/filtering的狀況下動作,這也是G8x的TCP設計最核心的觀念:
shader的動作與texture息息相關,兩者之間的interconnection至關重要。

SPE作rasterization的部分我有點質疑,Triangle Setup有必要這麼多靈活性嗎?

不過Radiosity/Ray Tracing的話SPE問題就不大,而且實在很快...
所以用Texture generation的形式扔給RSX是個好點子,只要CELL的主記憶體容量再大一些,如果CELL有512MB記憶體的話,這方面可能會無敵好一陣子。
過去我認為SPE直接render到RSX是個點子,不過RSX那邊的實作看來限制了這部分....

[ 本帖最后由 Eji 于 2007-8-15 18:01 编辑 ]

TOP

引用:
原帖由 ibelieveicandie 于 2007-8-15 09:52 发表
关键不是大家(游戏开发者)想用spe做什么,而是spe能做什么。

就目前来看物理运算是没问题的,这也算是spe作为CPU一部分的本职工作之一。
另外spe应该还是可以做做和gameplay无关的事情,比如生成粒子,草,等等(前提是rsx有这个能力去渲染)。
spe还可以后台解压缩,比如video/audio data streaming,background loading。

sony号称会有一个AI的middleware可以让spe执行ai,但目前还没有进一步信息。假如spe能很好的执行ai的话,对于游戏来说实用意义可以大N倍。
SpeedTree有個SPE的版本,KZ2也宣稱用SPE作particle,不過KZ2的particle目前看來精確度不算高,可能和頻寬有關?
照理說KZ2那份pdf的SPE runtime應該就是執行時間,但是不知道SPE的總執行時間多少,所以很難知道SPE跑particle有用到多少時間。

SPE的AI執行類型應該會有些限制,不過實話是都有人拿EE的 VU 跑 neural network了,我也不知道什麼不能跑啦。XD

TOP

PS3的确牛比

TOP

引用:
原帖由 爱你一棒陲 于 2007-8-15 11:02 发表

知道不知道HALO3的粒子系统就是基于GPU的,而且ATI很早就展示过基于R5XX的GPGPU系统,演示的就是复杂的粒子运算,DEMO里就是20万个。真是孤陋寡闻,无知啊无知~~~
particle system用GPU跑是個點子沒錯啦.... 不過就和Enlighten一樣,製造太多render pass給GPU我覺得不見得是好點子。

TOP

引用:
原帖由 Eji 于 2007-8-15 17:56 发表


這邊會產生另一個問題:ROP和CELL本身整合很困難,General Processing Unit和ASIC(TMU/ROP)兩邊的clock會互相影響。

G8x算是已經很厲害了,常規運作下Shader clock可以到1.5GHz,但是這個peak還是沒有達 ...
确实。假如PS3做成512M XDR的UMA架构的话,借助SPE的强劲性能,和X360的优劣甚至可能瞬间倒转(仅指图像部分)

不过可能毕竟只是可能而已,RSX原本就不是为cell设计的,成本压力也不可忽视。

TOP

发新话题
     
官方公众号及微博