※ [本文转录自 C_Chat 看板 #1Z0JeJok ]
作者: hizuki (真女主角爱与正义的天使) 看板: C_Chat
标题: Re: [闲聊] GBA塞一块GPU
时间: Sun Aug 21 03:46:09 2022
※ 引述《yang560831 ("坏人"乔尼)》之铭言:
: ※ 引述《yuan55226 (Yuan55226)》之铭言:
: : SNES、GBA常常被拿来比较,谁的机能更好
: : 看过网络上无数讨论文章得到的结论
: : 超任SNES本身有2块PPU 来处理图形,相当于GPU的存在
: : 蛮多游戏卡匣还塞了SuperFX 的东西
: : 游戏卡匣也没放Super FX
: : 所以GBA的性能、图形各方面远远不如SNES
先不讲SuperFX,只讲SNES和GBA本身
他们都没有现代意义的GPU,多数游戏的绘图原理都不是基于
frame buffer,而纯粹是sprites叠图叠出来的。
我们再来看所谓3D效果的绘制,这在SNES上是Mode 7,
GBA上Mode 3~5。他们都是通过把2d dimensional变形后呈现
3D效果。SNES的CPU非常贫弱远不如ARM的ARM7TM。
而SNES的PPU的变形必须对整个画面进行。ARM CPU运算可以对
一个pixel进行操作,适用性完全不同。
SNES的Ricoh 5A22在数学运算这边根本比不上ARM7带M的变种,
不带M的比不上其实,因为bandwidth和frequency摆那里。
何况GBA的ARM CPU和VRAM之间有一个16bits的bus,WRAM是32bits的bus
SNES的Ricoh 5A22只有8bits的bus,移动自己的暂存器都要两个周期。
: 呃.......
: 你知道GBA为什么没放Super FX吗?
: 因为它不需要啊
: SuperFX作为超任的强化芯片
: 有大约10款游戏采用 占全部超任游戏约0.5%
: 其中以超级玛莉欧世界2 遥希岛最为知名
: https://i.imgur.com/dqgn1zS.jpg
: 超任需要Super FX这个特规芯片的加持 才能跑得动这款游戏
: 耀西岛也以超级玛莉欧advance 3之名移植到GBA
: https://i.imgur.com/N1ia4bX.jpg
: 但GBA上的耀西岛并不需要特别的硬件
: 就可以在GBA上面顺畅运作
: 光这点就足以说明GBA跟SFC在性能上的差距惹
: 对啊
这个其实不不好比,假设Super FX GSU-2没有被SNES的CPU halt住,
GBA的ARM CPU不用处理其他的工作,工作在Thumb模式下。大体上
可以认为运算速度差不多,特别是除法之类。
这样比其实没啥意义,因为两个频率不同, register width不同,
只是因为在Thumb模式下data变成16bits了,而Super FX的指令可以
从额外的512bytes cache读出来。
但是现实就是Super FX会被SNES CPU给卡住,GBA的ARM CPU工作繁忙,
唯独就是SNES最后可能RAM多一点(错误,我忘记有EWRAM了)。
综合来讲结论大概就是SNES不考虑CD addone话还是不如GBA。