Board logo

标题: [老游杂谈] FF12是如何把狭小的4MB EDRAM用到极致的? [打印本页]

作者: chenke    时间: 2011-7-4 16:15     标题: FF12是如何把狭小的4MB EDRAM用到极致的?

记得有本CG杂志上专题介绍过FF12的贴图技术...

技术上采取了和GT4一样“下水道开船”的特殊带宽利用方式?
作者: dragonzet    时间: 2011-7-4 16:34


在机器上调用命令的技术我不懂
要说贴图的话知道一些。

FF12有人物模型在可以在网上下到,你用3DSMAX打开可以看到2张贴图,
以ASHE为例,身体和头部(脸+头发)是2张256X256规格的贴图
所以保证了靠近的时候可以清晰地看清楚脸部的表情。如果要换有变化的大表情只需要改变脸部贴图即可

FF12是PS2游戏,而且除了战斗大招外,在平时是没有用光源渲染的,最多只有LIGHTMAP,

FF12角色的质感通通都是画师手绘上去的,纯人工。
作者: hourousha    时间: 2011-7-4 16:37

'下水道开船'是什么高深技术
作者: chenke    时间: 2011-7-4 17:24

posted by wap, platform: UC

http://bbs.saraba1st.com/2b/read-htm-tid-480972.html
参考此帖
作者: hourousha    时间: 2011-7-4 17:48

引用:
原帖由 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 编辑 ]
作者: 玛丽医生    时间: 2011-7-4 19:58

posted by wap, platform: Nokia (E63)

mark
作者: 玛丽医生    时间: 2011-7-4 19:59

posted by wap, platform: Nokia (E63)

mark
作者: chenke    时间: 2011-7-4 22:08

引用:
原帖由 hourousha 于 2011-7-4 17:48 发表

说实话看那贴喷了,还‘独占vif1总线,不走vu1,通过高带宽换取容量’。233……
不走vu1那独占vif1吃多了撑的?vu1vif1DMA。嫌PS2浮点运算太强所以把vu1闲置啊?
GIF本身撑到头就1.2G的带宽,是DMA带宽的一半 ...
感谢解惑,我一直对PS2上的GT4/战神1、2/FF12开发时采取的不按传统思路走的办法很感兴趣

就PS2模拟器来说,以上游戏也是最后才搞定模拟的,可见确实不一般...
作者: 真伪nintendofans    时间: 2011-7-4 22:20

引用:
原帖由 hourousha 于 2011-7-4 17:48 发表

说实话看那贴喷了,还‘独占vif1总线,不走vu1,通过高带宽换取容量’。233……
不走vu1那独占vif1吃多了撑的?vu1vif1DMA。嫌PS2浮点运算太强所以把vu1闲置啊?
GIF本身撑到头就1.2G的带宽,是DMA带宽的一半 ...
gc到底有哪些游戏全开 1-pass-8-texture
作者: 踩姑娘的小蘑菇    时间: 2011-7-4 22:28

引用:
原帖由 chenke 于 2011-7-4 22:08 发表


感谢解惑,我一直对PS2上的GT4/战神1、2/FF12开发时采取的不按传统思路走的办法很感兴趣

就PS2模拟器来说,以上游戏也是最后才搞定模拟的,可见确实不一般...
侄儿自己功课做得太少,不要把一些拼美工的东西当成了技术高明,按你这个思路,很多2D或伪3D游戏都成了技术代表了,卡马克会哭的哟……

再说,你那个模拟器验证法更是不靠谱,模拟器一大特色就是先兼容大作,再说些小众的东西,你没看到就算是三公主和PSP也不是啥老游戏都能面对的,你敢说那些无法正常运行的都是技术高明的作品么?自己还是多看看资料再来问些地精问题吧,S1那脑壳有问题的人多,去多了小心被感染。
作者: yuhui    时间: 2011-7-4 23:32

posted by wap, platform: iPhone

技术贴 学习。
作者: hourousha    时间: 2011-7-5 08:06

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

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

PS2上大量的完美移植街机游戏才是经典!
作者: zo    时间: 2011-7-5 08:53

ps2第一个让我惊叹技术的游戏是《博德之门》《诺拉斯战士》系列,当时觉得ps2能出这样的画面简直神了
作者: kesons    时间: 2011-7-5 09:27

技术贴马克。
作者: chenke    时间: 2011-7-5 10:08

请hourousha对照此图详细解说下PS2的GT4/战神1、2开发秘籍


[attach]321514[/attach]
作者: hourousha    时间: 2011-7-5 10:43

引用:
原帖由 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 编辑 ]
作者: hzl    时间: 2011-7-5 23:12

posted by wap, platform: UC

技术帖留名




欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) Powered by Discuz! 6.0.0