| XBox的总带宽达到PC6400,但Xbox还使用共享内存架构 ,CPU和显示芯片要互相抢占带宽。分配1.1GB/秒给主系统,5.3GB/秒给其余设备,明显是不够用的,微软怎样解决这个难题呢? 计算一个场景的实际带宽需要很不容易,因为我们难以了解缓存的工作效率,或顶点描影器究竟需要多少带宽。幸好,我们还可以按照常规的3D构图,来大致推断出带宽的使用情况。 Xbox主要的输出对象是NTSC电视机,并非显示器或HDTV(High Definition TeleVision,高清晰度电视),大多数游戏仍然停留在648 * 480。同时,Xbox的刷新率限制在60Hz,这两个因素都大大减轻了带宽的负担。那么,在游戏加上32位色、32位Z缓冲、每像素4纹理、三线性过滤后,假设游戏复杂场景导致4倍透支,并且Z缓冲操作使用1.2倍率器。
帧缓存需求:
640 X 480 X 60 X (8字节每像素)X 4 X 1.2 = 707.8MB/秒 RAMDAC显示60Hz,需要增加: 640 X 480 X 60 X 4字节每像素 = 73.7MB/秒 在每像素4纹理,三线性过滤(8纹理像素)和31%缓存效率的情况下: 640 X 480 X 60 4字节每像素 X 4倍境深复杂度 X 4纹理 X 8纹理像素 X 31% = 2.9GB/秒 707.8MB/秒 + 73.7MB/秒 + 2.9GB/秒约等于3.7GB/秒,结果还不太坏,甚至加上16采样各向异性过滤(20%缓存效率)也不过4.55GB/秒。如果你想添加HRAA特效,必须在总带宽的基础上再乘以4,当然,这时要达到60帧/秒是没可能的,还是30帧/秒比较合适,在每像素2纹理的情况下,带宽需求约为5.5GB/秒。 以上计算还没有包括早期Z检查和无损Z缓冲压缩等降低带宽占用的特性。早期Z检查是一种具有远见的技术,可以减少透支的出现,从4倍降至2或3倍。透支为2时,使用HRAA + 每像素2纹理就可以达到60帧/秒。无损Z缓冲压缩可以减少Z缓冲占用的空间。 通常,Xbox无法与高分辨率的GeForce 3竞争,但不要忘了,Xbox是支持HDTV的,1280 X 720需要的带宽比HRAA 640 X 480还少,游戏发展商最终可能会放弃HRAA,仅用双线性来代替它,进一步减轻带宽的负担。 
|