修正和优化上一贴里一些有误的数据
这次加入一些标准,主要以shader或者可编程的浮点,以及尽量符合IEEE754标准的FP32单精度浮点作为计入标准,我会在文中说明。所以NGC和Wii,他们是标准的固定流水线,不具备可编程性,并且不符合IEEE标准,而且FP32精度的指令很少,所以这次这类主机就不计入其中了,实际上老主机用浮点来参考性能都有点牵强,只不过非可编程更加牵强。
直接上图然后说明

N64的浮点性能来源于CPU VR4300的FPU单元,而GPU是不支持浮点的。当时浮点加速的效果有限,但是毕竟是第一台支持浮点的游戏机,所以给N64一个位置。
DC的GPU PowerVR CLX2不支持硬件T&L,更不支持可编程,所以DC的浮点性能来源与CPU SH4的Vector Graphics Engine,和PS2的VU类似,负责T&L的运算,具备一定的可编程性,200MHz下浮点性能为1.4GFLOPS,如下图

PS2的T&L是由VU运算的,GPU不支持几何运算。VU具备一定的可编程性,实际上已经开始类似于早期的vertex shader了,只不过是和CPU总线绑定在一起。PS2的官方浮点数据是基于CPU的FPU和两个VU的总和值。
初代Xbox的GPU NV2A,其架构基于NV20,pixel shader虽然支持一定的可编程性,但是灵活性较低,并且不是IEEE 754标准的FP32浮点,和NGC的pixel pipeline类似还是基于combiner的运算。Vertex shader的运算单元是一组SIMD Vector FPU,和一个SFU,Vector FPU支持标准FP32单精度浮点,是一组4 x 32bit的FPU Core,每周期8 flops,NV2A一共两组Vertex shader,所以一共16 flops,GPU vertex shader的性能就为3.72GFLOPS。除此之外,Xbox上还有一个surface engine跑在CPU的SIMD上,辅助几何运算,所以还要算上CPU的数值,每周期8 flops,性能为5.86GFLOPS,总和为约9.6GFLOPS。

PSP的数值为CPU FPU和VFPU的总和,PSP的VFPU同样用于加速几何运算,基本上用CPU SIMD或矢量单元加速几何运算的方式就到PSP了,PS3和360设计之初也有类似的打算,但是到后期基于GPU的开发模型和引擎成熟后这种方式存在感就比较低了,所以之后的主机就只需要计算GPU的shader性能了。
一些老贴里说过的就不多说了
PS3之前按照550mhz算的,现在修正为500mhz
3ds的计算方式可以参考我发过的关于3ds解析的帖子
psv给了两个数据,一个为实际官方游戏默认的166mhz,另一个为破解后能解锁的222mhz,由于官方游戏止步于166mhz模式(至少我不知道哪个游戏用上了222),所以我个人倾向于以官方实际情况为准。
wiiu我再强调一下,数据是基于官方sdk开发文档,sdk的数据是作为开发标准的,比宣传数据还要严谨的多,我看到有不少人还在那质疑非要认为是最早eurogamer分析出来的320sp才是对的,无视开发文档清清楚楚,明明白白写在那的数,那我无话可说。
switch是基于eurogamer曝光的数据,当然最终还是以开发文档中的数据为准,不过老任现在不给独立开发者sdk,所以暂时只能等待,或者等黑客或者其他开发者泄露了,总之有确切的数据之后我会更新的。
这次加入一些标准,主要以shader或者可编程的浮点,以及尽量符合IEEE754标准的FP32单精度浮点作为计入标准,我会在文中说明。所以NGC和Wii,他们是标准的固定流水线,不具备可编程性,并且不符合IEEE标准,而且FP32精度的指令很少,所以这次这类主机就不计入其中了,实际上老主机用浮点来参考性能都有点牵强,只不过非可编程更加牵强。
直接上图然后说明

N64的浮点性能来源于CPU VR4300的FPU单元,而GPU是不支持浮点的。当时浮点加速的效果有限,但是毕竟是第一台支持浮点的游戏机,所以给N64一个位置。
DC的GPU PowerVR CLX2不支持硬件T&L,更不支持可编程,所以DC的浮点性能来源与CPU SH4的Vector Graphics Engine,和PS2的VU类似,负责T&L的运算,具备一定的可编程性,200MHz下浮点性能为1.4GFLOPS,如下图

PS2的T&L是由VU运算的,GPU不支持几何运算。VU具备一定的可编程性,实际上已经开始类似于早期的vertex shader了,只不过是和CPU总线绑定在一起。PS2的官方浮点数据是基于CPU的FPU和两个VU的总和值。
初代Xbox的GPU NV2A,其架构基于NV20,pixel shader虽然支持一定的可编程性,但是灵活性较低,并且不是IEEE 754标准的FP32浮点,和NGC的pixel pipeline类似还是基于combiner的运算。Vertex shader的运算单元是一组SIMD Vector FPU,和一个SFU,Vector FPU支持标准FP32单精度浮点,是一组4 x 32bit的FPU Core,每周期8 flops,NV2A一共两组Vertex shader,所以一共16 flops,GPU vertex shader的性能就为3.72GFLOPS。除此之外,Xbox上还有一个surface engine跑在CPU的SIMD上,辅助几何运算,所以还要算上CPU的数值,每周期8 flops,性能为5.86GFLOPS,总和为约9.6GFLOPS。

PSP的数值为CPU FPU和VFPU的总和,PSP的VFPU同样用于加速几何运算,基本上用CPU SIMD或矢量单元加速几何运算的方式就到PSP了,PS3和360设计之初也有类似的打算,但是到后期基于GPU的开发模型和引擎成熟后这种方式存在感就比较低了,所以之后的主机就只需要计算GPU的shader性能了。
一些老贴里说过的就不多说了
PS3之前按照550mhz算的,现在修正为500mhz
3ds的计算方式可以参考我发过的关于3ds解析的帖子
psv给了两个数据,一个为实际官方游戏默认的166mhz,另一个为破解后能解锁的222mhz,由于官方游戏止步于166mhz模式(至少我不知道哪个游戏用上了222),所以我个人倾向于以官方实际情况为准。
wiiu我再强调一下,数据是基于官方sdk开发文档,sdk的数据是作为开发标准的,比宣传数据还要严谨的多,我看到有不少人还在那质疑非要认为是最早eurogamer分析出来的320sp才是对的,无视开发文档清清楚楚,明明白白写在那的数,那我无话可说。
switch是基于eurogamer曝光的数据,当然最终还是以开发文档中的数据为准,不过老任现在不给独立开发者sdk,所以暂时只能等待,或者等黑客或者其他开发者泄露了,总之有确切的数据之后我会更新的。