魔王撒旦
原帖由 kb01 于 2010-10-11 23:12 发表 CPU处理一个顶点需要执行数次4*4矩阵运算(执行View Transformation,Project Transformation和World Transformation 都需要执行4*4矩阵运算)。一个向量处理单位可以在4cycle完成一个4*4矩阵运算,每个顶点需要至少3次4*4矩阵运算。DC只有有1个向量处理单位,可以在4cycle完成一个4*4矩阵运算,最快可以在12cycle完成一个顶点。PS2因为有VU0及VU1两个向量处理单位再加上1个FPU 之优势,只需约1.5cycle就可以完成一个4*4矩阵运算,最快4.5cycle可以完成一个顶点。也许有人以为一个三角形需要3个顶点,其实不必!! 现在的3D Render如PVR2,Voodoo,TNT……都支持 Triangle Strip。所谓Triangle Strip就是让相邻的两三角形共同使用一个边(两个顶点)以减少所需处理的顶点数量。举例来说:三角形A由顶点1-2-3所组成, 靠近三角形A的三角形B可以是由顶点2-3-4所组成,顶点2和3就会被重覆使用,所以要得到三角形B只需再计算顶点4就可以了。 接下来的三角形C可以是3-4-5,所以三角形C只需计算顶点5就好了, 以此类推……当然不是所有三角形都彼此共用一个边,所以Triangle Strip的长度有限。当Triangle Strip的长度在10左右,平均一个三角形只需要1.2个顶点。当Triangle Strip的长度在18左右,平均一个三角形只需要1.11个顶点。如果Triangle Strip连结特别长的话,那么一个三角形就越来越趋近于只需要1个顶点。 以Emotion Engine处理一个顶点需要4.5cycle来计算,PS2的Emotion Engine 300MHz约可以处理6666万个顶点,假如Triangle Strip特别长的话,约略等于6600万Triangle/sec。以SH4处理一个顶点需要12cycle来计算,DC的SH4 200MHz约可以处理1666万个顶点, 假如Triangle Strip特别长的话, 约略等于1500万Triangle/sec。 数据上PS2是DC的4.4倍 http://blog.china.alibaba.com/bl ... e/b0-i12686829.html
查看详细资料
TOP