回复主题: 当年PS比SS的2D差是相对的,但是SS比PS的3D差是绝对的
作者:模拟器高手

台主机都出现在现在的3D技术未确立的年代,被淘汰的技术成为现在大家理解这3台主机困难的因素。虽然这几年通过开发文档和模拟器反推理已经基本解明实际情况,但感觉很多人还是对这些信息没了解或理解有偏差。所以我想和大家一起再理一理,让更多人更容易的了解这3台主机是如何工作的。
首先我们有必要从最初的FC开始谈起,这是2D游戏加速的开端。接触PC早玩过早期PC上2D游戏的人都知道显存容量决定了游戏的同屏色数和分辨率,如果FC也用一样的方式去做游戏,至少需要几十KB的显存才行,那个年代这个容量的显存根本就是天价,所以他们想了一个“替换法”去解决,给60多种颜色都编上一个号,储存的时候只储存这个编号,然后有一颗芯片专门转换这些编号为颜色显示出来,结果只需要几KB显存就足够了。然而这类芯片的能力是有限的于是限制也就产生了(卷轴图层数量、活动块数量、两者的色数上限),这就是相对于PC上2D游戏的“加速”。这种2D加速芯片一直被运用到SS上才停止了脚步(后面其他如GBA之类的暂且不谈)。
PS开始,主机上不再含有2D加速芯片,但大家还是习惯用同样的办法去做2D游戏(原因不清楚,更容易?),于是就产生了2个多边形组成活动块、N个多边形组成卷轴图层的形式,不难发现生化危机等“2.5D”游戏就是这种形式的扩张——X个多边形组成人物或物品、N个多边形组成图层背景,再继续增加多边形就会变成真正的“3D”游戏——X个多边形组成人物或物品、Y个多边形组成环境。也就是说现代主机的2D游戏除了个别使用最古老的形式以外其余的都可以称之为“3D”游戏。
接下来我们看一下那个混沌的3D年代,标题这些机器的3D游戏分工方案
多边形绘制
PC:CPU,最高233MHz
SS:CPU,28MHz,虽然有2颗但限制问题基本还是等于1颗,另一颗多用于其他方面
PS:CPU,33MHz
N64:CPU,93MHz
理论上看起来多边形的数量会接近7:0.85:1:3,和实际的X:0.7:1:1.2差距甚大,因为还受到转换速度的影响
多边形转换
PC:CPU
SS:CPU,DSP(使用困难,浮点精度不足,大部分游戏不使用)
PS:GTE(浮点精度不足)
N64:RSP(浮点精度不足,强制降低性能补足精度)
SS因为不使用DSP协助的游戏比较多,结果多边形数量比理论上还少;PS直接无视浮点精度不足的游戏多边形会抖动;N64被强制以性能换精度,结果只剩1/3左右的水平
纹理贴图
PC:3D加速显卡
SS:VDP1
PS:不明(应该是那个VXD的芯片)
N64:RDP
SS因为VDP1的原因,只能创建四个顶点的多边形,否则无法贴图。大部分的游戏画面区别也正是纹理贴图这部分造成的,接下来详细谈谈这个。
多边形数量。官方宣称的多边形数量一般是按理论多边形顶点数算的,根据测试使用高洛德渲染的情况下(单色、无纹理,比如马里奥64就使用了不少)SS上限大概6万/秒,PS不足9万/秒,N64基本10~12万/秒,使用纹理的话数量还会下降。PS换算一下1500/帧,使用纹理后更少,扣掉背景图层消耗,除以2,也就是上限只能合成数百活动块,这代3D主机对部分街机2D游戏不能移植的原因这里也是一条。
线性纹理过滤。纹理马赛克产生的原因,这里只有voodoo之后的显卡以及N64的RDP支持。
透明。SS继承SFC的半透明方式,在帧缓存中合成,只支持普通活动块+图层或者普通活动块+普通活动块,而变形活动块或建模后贴图只能维持自身颜色无法叠加;PS支持几种形式半透明叠加,同样在帧缓存中合成;N64支持阿尔法混合,真正的透明而不再是半透明(马里奥64的幽灵,马里奥64基本就是N64特性的基本展示),贴图时直接完成。
最后是总结一些错误的观点及正确的解释
“SS的3D是2D模拟的,不是真3D”,SS的3D游戏都是通过建模+贴图而来,和其他机子的3D游戏一样的,并非2D游戏旋转图层等视觉差模拟。
“N64是纯3D游戏机,几乎不能移植2D游戏”,N64基本等于机能升级版的PS,移植2D游戏的难度和PS是一样的,看厂商想不想、值不值得做而已。



[登录后才可回复]