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


发新话题
打印

[业评] 难道他说的是真的?

我就是做360的,说说自己的看法。360cpu支持6线程,所以物理运算可以在别的线程上同时算,不和渲染线程冲突。微软自己就提供了好用的api和工具(PIX),各种指标都能给得出,所以360上做优化还是比较容易的,PC上做多线程支持比较费力,厂家的优化做的没有360上来的方便,可能就没有下大力气去做。
论硬件,360的GPU是介于D9和D10之间一代,基于D9但又具有D10的某些特征(这里补充,比如D9中就支持了Tessellation,但是在360中和D10一样,对于它进行了巨大的强化),性能上还算过得去,
基本和86GT一个档次。360是显存内存一体化,512MB留下32MB给内核,剩下作为程序使用,然后具有额外的10MB的EDRAM作为渲染用。CPU就是PowerPC,没有什么所谓对游戏有优化,还是看引擎和游戏架构的设计。
360论硬件大概相当于E6550+86GT,比8800gt/4830+e84差远了。
有人愿意听我就再补充一些。{lol:]
事实上说,10MB的EDRAM并不能满足4XMSAA在720P 32Bit下的需求,这个可以算一下:
1280*720*4Byte*/(1024*1024) = 3.51MB(约),也就是说1XMSAA就需要3.5MB的渲染缓冲,那么
2XMSAA需要7兆,有人会说这不是够了么,但是现在哪个游戏没有影子啊?画影子还需要2XMSAA的Depth Buffer,那么看起来就需要14MB左右,已经超过了10MB的需要。所以360使用叫做Predicated Tiling的描画方式,也就是每次只画1/2,GPU会自动保存第一次所有的描画指令,然后在剩下的执行过程中重放记录的指令,这期间是不能有资源的变动的。对于4X也是如此,不过4X有点特殊:2X和4X的Predicated Tiling都分为垂直和水平描画,自选,不过一般垂直方式可以少占一些Buffer,所以4X的垂直方式是只需要1/4, 1/4, 1/2 3次就可以画出来(如果我没有记反的话)。
360和PC的差别最大的就是,360的所有描画都强制在EDRAM中进行,而PC上是可以直接描画到纹理的。
360需要执行一次IDirect3DDevice9::Resolve()命令,把EDRAM里的结果复制到内存中的对应的纹理上。这耗时大概0.25毫秒,也就是GPU的大概 500000个指令周期/秒×0.25毫秒的指令数。顺便说一下,360不提供更大EDRAM的原因是它实在很昂贵。
至于PC上显存巨大的原因,我想是因为DX可以自行决定纹理的存放地点,对于静态纹理可以放在显存里,避免无意义的copy,毕竟带宽是有限的。而360显存内存一体化就没有这个鸟问题,这也是个人觉得360比PS3方便(开发上)的地方之一。


TOP

不用了,三红机鸡能再强,也没中文版啊。



TOP

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