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


发新话题
打印

[老游杂谈] FF12是如何把狭小的4MB EDRAM用到极致的?

'下水道开船'是什么高深技术


TOP

引用:
原帖由 chenke 于 2011-7-4 17:24 发表
posted by wap, platform: UC

http://bbs.saraba1st.com/2b/read-htm-tid-480972.html
参考此帖
说实话看那贴喷了,还‘独占vif1总线,不走vu1,通过高带宽换取容量’。233……
不走vu1那独占vif1吃多了撑的?vu1<->vif1<->DMA。嫌PS2浮点运算太强所以把vu1闲置啊?
GIF本身撑到头就1.2G的带宽,是DMA带宽的一半,而所有从外部输入GS的数据都必须走GIF,独占vif不走VU1能有什么好处?

其实PS2优化说白了就几个要点。
1:并行化,DMA直接把纹理数据传输给GIF,同时CPU+VU0执行AI和物理运算操作,而VU1+VIF1执行顶点变换操作,完成后传给GIF,除了GIF传送外,其余部分可以并行执行,尽量占满DMA带宽。
2:缩水,纹理尽量少用32bit的,16bit就差不多了,8bit调色板纹理用好了也没太大问题,还有4bit调色板……说句题外的其实调色板用好了挺酷的,比如鬼武者3直接用Z-buffer+调色板直接得到大气散射值,个人就觉得挺神来一笔的。
3:降低每次渲染的纹理使用,可以用多步骤渲染完成,反正PS2是push buffer性质的,对batch size不太敏感。同时PS2的EDRAM也很适合multi-pass渲染。
因为GS像素功能落后且只有2-context,也就是说充其量顶多来个1-pass 2-texture,所以相对来说对texture buffer size要求并不是非常高,失策在不支持压缩纹理但也能将就用。像GC那样最多1-pass-8-texture,或XBOX的1-pass-4-texture如果也用这种texture buffer设计,那就是找死了。

[ 本帖最后由 hourousha 于 2011-7-4 18:01 编辑 ]



TOP

引用:
原帖由 真伪nintendofans 于 2011-7-4 22:20 发表

gc到底有哪些游戏全开 1-pass-8-texture
应该是没有吧,1 pass 8 textues只是硬件的参数。实际使用中一来得考虑性能,二来也确实没什么用武之地。


TOP

引用:
原帖由 chenke 于 2011-7-5 10:08 发表
请hourousha对照此图详细解说下PS2的GT4/战神1、2开发秘籍?


321514
我又不是开发GT4,战神1、2的人,哪来的秘籍?再者,开发游戏不是靠什么秘籍的。只能是现有体系的充分利用。有些类型的游戏资源使用比较可以预测因此容易发挥,比如RAC和战神这种视角预订的ACT,有些就难,比如FPS这种视角自由变化的开放性游戏。
再者,这只是PS2的标准架构图,有什么特别的么?我前面说的那三点中的第一点就可以解释这架构的特点和优化思路。
顺便说一点,GIF的3条path,同一时刻只有一条可用其余两条stall,所以更加说明‘独占VIF1,不走VU1’是多么的无用——直接走DMA控制的path3就完事嘛……而VU1必须经由VIF1取得数据,所以独占VIF1不走VU1代表VU1只能闲置。
相对应的,VU0可以直接作为R5900的协处理器使用而不必走VIF0与DMA——当然此时只能运作于macro模式从而性能比以micro模式运行时低(VU0原本就比VU1性能略低)。视情况需要而定呗,毕竟没有任何一个实际程序可以发挥100%的硬件性能(超过90%都很少,因为瓶颈可能存在于多个地方且是动态变动的)。

[ 本帖最后由 hourousha 于 2011-7-5 10:44 编辑 ]

TOP

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