热点科技

标题: PS3的未来?CELL-SPE来形成类似DX10的GS流水线! [打印本页]

作者: liuyihong    时间: 2006-11-13 15:30
标题: PS3的未来?CELL-SPE来形成类似DX10的GS流水线!
PS3的未来?CELL-SPE来形成类似DX10的GS流水线!
原文:[url=http://psinext.e-mpire.com/index.php?categoryid=3&m_articles_articleid=723&HPSESSID=7424fff471602712a227326d6f25b8a2]http://psinext.e-mpire.com/index ... 712a227326d6f25b8a2[/url]

Jason Doig是SCEI R&D(research and development) London Office的一个Manager,准确说就是SCE研究发展伦敦分部的一名主管,从访谈内容来看,这个人属于偏向技术方面的主管。


用SPE来辅助GPU来实现  GS流水线  高人可以来看看
作者: zhangyulll    时间: 2006-11-13 15:35
Eji大很早就和我详细谈过这一点,应该还是可行的
作者: 33355555    时间: 2006-11-13 16:57
原帖由 ghrs2010 于 2006-11-13 15:35 发表
Eji大很早就和我详细谈过这一点,应该还是可行的
这个DX10很重要的特性 难道由SPE就能模仿??
作者: zlmamay    时间: 2006-11-13 17:23
SPE做GS应该是没有必要的
代替掉GS倒是真的
有SPE在的话GS也没多大存在的必要
因为SPE可以提供足够强大的几何能力  完成足够复杂的model给GPU
而不需要在GPU那头再提高几何细节  理论上是比GS要来得彻底的多
灵活性上和性能上 都有优势

SPE用得好的话  一定程度上可以协助 RSX .可惜就是说RSX不是专门针对PS3这种构架单独设计的。不然设计初期就考虑到和Cell互动。
那么就可以玩出很多有意思的东西。 现在的要实现互动的话,存在的障碍得小心的回避,兜很多圈子。
作者: NDFSM    时间: 2006-11-13 17:28
原帖由 ghrs2010 于 2006-11-13 15:35 发表
Eji大很早就和我详细谈过这一点,应该还是可行的
是PM
还是在贴里啊?

可否给个地址拜略一下啊?
作者: laodaohe    时间: 2006-11-13 17:38
原帖由 graphiccard 于 2006-11-13 17:28 发表


是PM
还是在贴里啊?

可否给个地址拜略一下啊?
同求 !#。
作者: aasddsu    时间: 2006-11-13 17:46
偷偷地转些东西,某高手在某游戏论坛上无聊时留的:

关于C1是否能实现DX10的GS和SO功能,有个东西必须提一下:X360的图形子系统有一个特殊的功能叫Shader Export (简称SX),该功能允许为一个shader开一块主存,然后在shader里可以直接对这块内存进行数据读写,带宽大概是20G/s左右吧(具体的数字我记不清楚了)。这个设计是目前所有其它GPU都没有的,用它可以方便的实现同GS和SO相同的功能。目前XO上的shader的汇编指令里就包含了mem export的指令,SDK里也有相关的例子。不过目前如果要用SX的话,必须用汇编来写shader,因为XO的HLSL编译器还不支持SX。至于微软会不会用SX来实现GS和SO的接口,我倒觉得不一定。以目前的应用来看,SX的使用还是比较方便的,既然无法在C1上完整的实现DX10,那光是多做一套GS的接口对开发人员来说也没什么太大的意义。
关于SX的应用,可以参见这个贴子的讨论:
http://www.beyond3d.com/forum/sh ... amp;postcount=4%TrQ
都是用VS配合SX来实现GS的功能:
- 角色动画的skin,可以用一个VS先从内存读入skeletal mesh,然后做表面细分生成新顶点,再写回内存,最后交给常规的vertex处理。
- 用一个VS把需要做细分的物体从世界坐标系转换到屏幕坐标系,根据屏幕上的大小生成细分系数,再进行细分写回内存,这样就可以实现按照远近来进行动态细分。
- 用VS做碰撞检测,进一步做物理运算。
我还可以补充用PS配合SX来实现的一些功能:
- 实时生成volume texture。通常情况下PS只能输出到一个2D的render target,但是如果使用SX输出的话,就没有这个限制。有了能够实时生成的volume texture,就可以做出很多3D的procedural texture来,这对很多技术,比如3D的流体模拟都是必须的。
- 用于多种GPGPU运算,比如所谓的“million particles”。GPU可以处理大量的低相关性并行计算,而粒子的运动(比如大量的雪花)就属于这一种。在没有SX的情况下,对数据格式的输入输出限制的比较死,无法做一些复杂的效果(比如雪花与运动物体的交互);有了SX后就可以直接处理很多复杂数据。
作者: wy921    时间: 2006-11-13 18:00
只是consoles上的用到也没必要专门在HLSL提供支持
毕竟DX10 GS是requirste
可以做到类似的效果。说明C1确实是consoles相当程度的产品。
已经专门打破了GPU流水线的封闭性,为实现特殊的动作做好了准备。
但是这个相对用GS和SPE来实现 还是繁琐一些
看XO的开发工具了
作者: zhangliyuan    时间: 2006-11-13 18:08
菜鸟问个问题 requirste 是虾米意思
作者: ab5668862    时间: 2006-11-13 18:16
原帖由 graphiccard 于 2006-11-13 17:28 发表


是PM
还是在贴里啊?

可否给个地址拜略一下啊?
很抱歉,是在MSN上,没有保留聊天记录(个人认为未经对方许可保留纪录是不适当的)
作者: wpforever    时间: 2006-11-13 18:18
原帖由 graphiccard 于 2006-11-13 18:08 发表
菜鸟问个问题 requirste 是虾米意思
必须的 而不是Optional可选的
作者: aman008    时间: 2006-11-13 18:30
原帖由 ghrs2010 于 2006-11-13 18:16 发表


很抱歉,是在MSN上,没有保留聊天记录(个人认为未经对方许可保留纪录是不适当的)
```呵呵!3Q
```咳
残念
作者: mytendays    时间: 2006-11-13 18:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: gxndlxm    时间: 2006-11-13 18:31
原帖由 graphiccard 于 2006-11-13 18:30 发表


感谢高手指点迷津!
这个用个词典就好了...
作者: hutmd    时间: 2006-11-13 18:45
RSX如果专门针对CELL设计,可以把VS省略,只加PS就可以了,VS留给CELL来做
作者: powecdy    时间: 2006-11-13 18:48
原帖由 PS5 于 2006-11-13 18:45 发表
RSX如果专门针对CELL设计,可以把VS省略,只加PS就可以了,VS留给CELL来做
VS不可以丢掉
Cell的工作还很多,只是说在部分情况下协助GPU,完全把VS的事揽下来 PS3可用资源就非常吃紧
作者: jazzonkyy    时间: 2006-11-13 18:50
原帖由 ayanamei 于 2006-11-13 18:48 发表

VS不可以丢掉
Cell的工作还很多,只是说在部分情况下协助GPU,完全把VS的事揽下来 PS3可用资源就非常吃紧
VS不可以丢,起码可以减少,来增加PS
作者: bingyu5688    时间: 2006-11-13 18:53
原帖由 PS5 于 2006-11-13 18:50 发表


VS不可以丢,起码可以减少,来增加PS
基本上这么说吧 这里说SPE来协助RSX只说 PS3利用SPE的一个案例
真正实际情况做到什么程度还得看
DEMO中非常容易实现 但是实际游戏中 有AI,有Physic,有Geometry,其他等等等等 6个可实作的SPE未必忙得过来
VS如果会成为Bound 给那么多PS也毫无意义

一个可选方案 灵活的使用好了 但不能依赖CPU来干这
作者: redtnt    时间: 2006-11-13 18:56
原帖由 ayanamei 于 2006-11-13 18:53 发表


基本上这么说吧 这里说SPE来协助RSX只说 PS3利用SPE的一个案例
真正实际情况做到什么程度还得看
DEMO中非常容易实现 但是实际游戏中 有AI,有Physic,有Geometry,其他等等等等 6个可实作的SPE未必忙得过来
...
r580 只有8个VS,但是PS却有48个,你能说忙不过来吗?
作者: asd32401    时间: 2006-11-13 19:03
原帖由 PS5 于 2006-11-13 18:56 发表


r580 只有8个VS,但是PS却有48个,你能说忙不过来吗?
VS的工作量首先是远小于PS的  某种意义上应该说PS的工作量过大
所以GPU一直维持着一定的VS PS比例
除了部分极端的情况下VS会成为瓶颈以外  基本上都是PS吃紧 
VS成为瓶颈的情况下 整个GPU的流水线在上游就阻塞了
可靠的VS是必须 
作者: kgcttjxjhc    时间: 2006-11-13 19:09
原帖由 ayanamei 于 2006-11-13 19:03 发表

VS的工作量首先是远小于PS的  某种意义上应该说PS的工作量过大
所以GPU一直维持着一定的VS PS比例
除了部分极端的情况下VS会成为瓶颈以外  基本上都是PS吃紧 
VS成为瓶颈的情况下 整个GPU的流水线在 ...
对于游戏来说,现阶段增加PS更实际些,VS可以给一部分给CELL做
作者: 4125891    时间: 2006-11-13 19:31
原帖由 PS5 于 2006-11-13 19:09 发表


对于游戏来说,现阶段增加PS更实际些,VS可以给一部分给CELL做
VertexShader一部分让CELL做一部分让GPU作??你说说怎么实现
大仙

如果GPU把VS拿掉 至少要消耗2个SPE,而且是按照理论封值算
作者: wwwwww123456    时间: 2006-11-13 19:34
原帖由 ayanamei 于 2006-11-13 19:31 发表


VertexShader一部分让CELL做一部分让GPU作??你说说怎么实现
大仙

如果GPU把VS拿掉 至少要消耗2个SPE,而且是按照理论封值算
没说拿到VS啊,只是觉得VS还是由CPU来做好些,就象PS2那样
作者: leishusheng    时间: 2006-11-13 19:35
原帖由 PS5 于 2006-11-13 19:34 发表


没说拿到VS啊,只是觉得VS还是由CPU来做好些,就象PS2那样
你认为可以让CPU做一些 然后GPU再做一些? 
PS2的图形芯片完全没有VS这个概念 GS只是像素机 完全靠CPU来做类似VS的工作
作者: nbagui    时间: 2006-11-13 19:40
原帖由 ayanamei 于 2006-11-13 19:35 发表

你认为可以让CPU做一些 然后GPU再做一些? 
PS2的图形芯片完全没有VS这个概念 GS只是像素机 完全靠CPU来做类似VS的工作
在VS吃重的时候,CELL做一部分VS完全可以啊
作者: liox556    时间: 2006-11-13 19:42
原帖由 PS5 于 2006-11-13 19:40 发表


在VS吃重的时候,CELL做一部分VS完全可以啊
只能协助和GPU互动完成一些特殊操作
就算你用SPE模拟VS了,到了GPU那头还是要重新跑一便 无用功 #
作者: myleader    时间: 2006-11-13 19:45
原帖由 ayanamei 于 2006-11-13 19:42 发表
算你用SPE模拟VS了,到了GPU那头还是要重新跑一便 无用功 #
谁告诉你GPU的VS还要跑一遍?
作者: dd234    时间: 2006-11-13 19:57
原帖由 Edison 于 2006-11-13 19:45 发表

谁告诉你GPU的VS还要跑一遍?
他想当然的
作者: showme168    时间: 2006-11-13 19:58
原帖由 Edison 于 2006-11-13 19:45 发表

谁告诉你GPU的VS还要跑一遍?
至少要过一遍把 难道直接送给PS
这些时间VS啥都别干了??

RSX VS在工作的时候 CELL还不是插不进去
不能同时工作谈什么
作者: williamvan    时间: 2006-11-13 20:32
原帖由 ayanamei 于 2006-11-13 19:58 发表
至少要过一遍把 难道直接送给PS
这些时间VS啥都别干了??
当然是直接PASS给Setup,然后就给PS/TMU处理了。
作者: wjz121    时间: 2006-11-13 20:50
原帖由 Edison 于 2006-11-13 20:32 发表

当然是直接PASS给Setup,然后就给PS/TMU处理了。
直接忽视VS/T&L这层 直接丢给Rasterzier 类似最古老的Fixedfunction  #不对Vertex操作么
看来太习惯于D3D这套ProgramPipeline的观念
作者: itfkmfd    时间: 2006-11-13 22:46
原帖由 ayanamei 于 2006-11-13 20:50 发表

直接忽视VS/T&L这层 直接丢给Rasterzier 类似最古老的Fixedfunction  #不对Vertex操作么
看来太习惯于D3D这套ProgramPipeline的观念
都说XO的C1由于US的关系可以把shader资源全部做VS或者PS,我很想知道如果没有VS,PS的数据从哪里读入?没有了PS,VS的数据又怎么到ROP?DX10之前的封闭流水线结构是不允许shader直接访问内存单元的。就算DX10,VS也是必须存在的部分,PS虽然可以不要,但是最终大部分的AP还是必须PS的。
作者: lm1478    时间: 2006-11-13 22:53
原帖由 vp 于 2006-11-13 22:46 发表

都说XO的C1由于US的关系可以把shader资源全部做VS或者PS,我很想知道如果没有VS,PS的数据从哪里读入?没有了PS,VS的数据又怎么到ROP?DX10之前的封闭流水线结构是不允许shader直接访问内存单元的。就算DX10 ...
trangle setup之后VS操作Vertex 然后交给PS
如果PS全部繁忙状态情况下 把VS threading挂起 切换到PS threading  这样反复来回切换
反之亦然
实际threading数量肯定是比shader单元多得多的
这些theading需要消耗寄存器
不需要访问内存 
作者: dj953    时间: 2006-11-13 23:46
trangle setup是在CPU/VS完成VS动作后操作。
作者: qkzysc1986    时间: 2006-11-14 00:10
原帖由 vp 于 2006-11-13 22:46 发表

都说XO的C1由于US的关系可以把shader资源全部做VS或者PS,我很想知道如果没有VS,PS的数据从哪里读入?没有了PS,VS的数据又怎么到ROP?DX10之前的封闭流水线结构是不允许shader直接访问内存单元的。就算DX10 ...
PS的数据直接从光栅化单元取出。不要忘记,就算是古老的fixed T&L,也是有transformed vertex的,它就直接跳过所有几何变换和后几何变换(主要是齐次空间归一->屏幕坐标变换)。
后来的DX,在支持上面那种方式外,如果不想使用硬件vs,那就把device设为mixed,然后调用CPU运算就可以咯。
XO的48:0,大概只能是memexport使用的时候了吧。
至于0:48,大概主要时机是image space操作时了。这时哪怕不涉及上面那些方式,只凭借调度器也基本可以达到这种比例,毕竟顶点和像素操作的复杂度相差太多,调度器的time slice又不可能过于长……
作者: qinkaihui    时间: 2006-11-14 00:26
原帖由 Edison 于 2006-11-13 23:46 发表
trangle setup是在CPU/VS完成VS动作后操作。
Rasterzier的开始第一步
哎 不行了
好多东西就忘得差不多了
不水贴了  复习去

低级错误越来越多
作者: qqjjhh32    时间: 2006-11-14 00:27
原帖由 hourousha 于 2006-11-14 00:10 发表

PS的数据直接从光栅化单元取出。不要忘记,就算是古老的fixed T&L,也是有transformed vertex的,它就直接跳过所有几何变换和后几何变换(主要是齐次空间归一->屏幕坐标变换)。
后来的DX,在支持上面 ...
恩 US应该可以切换threading 平衡VS/PS开销
作者: fsljm    时间: 2006-11-14 08:49
原帖由 PS5
2006-11-13 18:45 发表
RSX如果专门针对CELL设计,可以
把VS省略,只加PS就可以了,VS留
给CELL来做
為什麼大家都很想把RSX的VS給省
略? 嫌Cell資源太多?
作者: ZWZW    时间: 2006-11-14 09:55
对架构完全没有概念的人...以为运算核心放在哪里都一样吗? 只要flops足够就可以?
8个VS, 500Mhz, 极端的时候可能会输出多少带宽? FlexIO还剩下多少? 这个带宽消耗既然可以避免为什么还要舍近求远?

我看到ID以数字做结尾的人就很郁闷。
作者: wxc_36002    时间: 2009-10-16 18:18
感觉Ps3的结构太复杂了啊,类似的DX10的GS流水线只是理论上可能成立啊,不过制造商怎么利用又是一回事了。
作者: 印第安纳琼斯    时间: 2009-10-16 18:35
楼上,挖到宝了。




欢迎光临 热点科技 (http://www.itheat.com/activity/) Powered by Discuz! X3.2