游戏主机GFLOPS
gpu吧
全部回复
仅看楼主
level 13
发现很多人都喜欢参照某个个人网站的数据,实际上里面的数据和信息有不少不太
正确的

所以花了点时间自己整理了一份
首先浮点性能不能完全代表图形的性能,尤其是在过去的主机或者PC上。现在的游戏开发主要都是基于引擎开发了,而引擎中shader非常重要,因此现在都非常注重shader性能,也就是GFLOPS这个参数,可以理解。但是在过去的游戏主机上,引擎开发还不普及,并且硬件架构也还不是shader,所以GFLOPS的意义也就不那么重要了,只能当作是一个参考,当然很多人纠结于这个数字,那就来整理一下。
下面逐个介绍和解析
N64:90MFLOPS
关于N64我以前写过介绍,下次发到吧里,现在就不多介绍了。需要注意的是,N64是首部拥有硬件浮点能力(FPU)的游戏主机,所以我们从N64开始,值得一提的是,后面的NDS是不支持硬件浮点的,所以就不收录了,不用考虑什么软模拟浮点,66MHz的ARM9,软模拟浮点?
Dreamcast:1.6GFLOPS
DC的GPU PowerVR CLX2是不支持硬件T&L的,T&L由CPU运算。而日立的CPU SH4包含一个专门用于3D图形计算的Vector Graphics Engine,如下图。200MHz的情况下有1.4GFLOPS的性能。
而Triangle Setup则又是在GPU上进行,额外可以提供200MFLOPS的性能,所以共计1.6GFLOPS。
PS2:6.2GFLOPS
PS2的GPU同样不支持硬件T&L,GPU专门负责光栅化。而在CPU Emotion Engine中,几何运算由CPU FPU和两颗专门的Vector Unit协同处理。每颗VU可以执行4 x MUL和4 x ADD,共计4.8GFLOPS,加上CPU FPU一共6.2GFLOPS。
NGC:7.5GFLOPS
和前两者不同,NGC的GPU支持硬件T&L,所以浮点性能主要来自GPU,就不需要考虑CPU了。ATI以前公布过整个系统也就是CPU+GPU共计10.5GFLOPS,还公布了GPU的细节:
view transform / multiply*3, add*3 / 32bit / 1 cycle/
perspective transform / multiply*2, add*1 / 32-bit / 1 cycle /
clipping / add*1 / 32-bit / 1 cycle /
(*ct* ) / division*1 / 32-bit / 1 cycle /
(*ct* ) / multiply*1 / 32-bit / 1 cycle /
viewport scalling / multiply*1, add*1 / 32-bit / 1 cycle /
texture cordinate / multiply*3, add*3 / 32-bit / 1 cycle /
re-normalization of texture cordinate / multiply*2, add*1 / 32-bit / 1 cycle /
2. Lighting
transform normal vector / multiply*3, add*3 / 20-bit / 1 cycle /
caliculate light vector / add*1 / 20-bit / 1 cycle /
(*ct* some lighting caliculations) / multiply*3, add*3 / 20-bit / 1 cycle /
(*ct* . pointlight/spotlight/specular section .)
(lighting) / multiply*5, add*2 / 20-bit / 4 cycle /
(normalize) / division of square root*1 / 20-bit / 4 cycle /
(lighting) / multiply*5, add*2 / 20-bit / 4 cycle /
(normalize) / division of square root*1 / 20-bit / 4 cycle /
(lighting) / division*2 / 20-bit / 4 cycle /
(normalize) / multiply*2 / 20-bit / 4 cycle /
(lighting) / multiply*1 / 20-bit / 4 cycle /
(lighting) / multiply*1 / 20-bit / 4 cycle /
(lighting) / multiply*1 / 20-bit / 4 cycle /
(*ct* sum)
(lighting) / multiply*1 / 20-bit / 1 cycle /
(lighting) / add*x1 / 20-bit / 1 cycle /
(*ct* some bump mapping related caliculations)
(normalize) / multiply*1 / 20-bit / 1 cycle /
(scaling) / multiply*1 / 20-bit / 4 cycle /
(add offset) / add*1 / 32-bit / 4 cycle /
(normalize) / division of square root*1 / 20-bit / 4 cycle /
(lighting) / float to int*1 / 32-bit / 1 cycle /
Flipper Total: 46.5 floating point operations per cycle, so 46.5 * 202.5 MHz = 9.4 Gflops
以上是00年来自日本某杂志的翻译内容,原作者表示有的术语他不懂,所以用*CT来表示
后来ATI宣布GPU Flipper降频至162MHz,所以相应的浮点性能降低至7.5GFLOPS。
Xbox:7.3GFLOPS
Xbox的数据来源于维基,我实在找不到NV2A的细节,所以用维基和英伟达公布过的一张PPT来作为参考了,如有大神清楚请务必补充
也许有人会奇怪和NGC的GPU差不多,理应不是比GC好么。说明一下GC的浮点运算并不都是FP32,而上面的数值基本都基于32bit浮点,所以说只能作为参考。
PSP:2.6GFLOPS
PSP浮点来源于CPU FPU + VFPU,VFPU类似于PS2的VU0。
Wii:11.2GFLOPS
关于Wii硬件的细节非常稀少,和当初NGC时期老任对技术细节津津乐道完全是两种态度,可能因为在PS360前完全不想谈参数了吧。。不过实际上Wii的硬件架构和NGC是一脉相承,并没有太多改变,当然也有加强,比如Pixel pipeline从4条提升到了8条,不过总体架构并没有太多变化,只是将频率提升了50%,那么相应的浮点也提升到11.2GFLOPS,当然这算的就比较粗略了。
Xbox 360:240GFLOPS
360我们就比较熟悉了,就不多说了。浮点性能 = 48 x SIMD(Vec4 + Scalar)x 2 x 500MHz = 240GFLOPS。
PS3:246.4GFLOPS
PS3的数据似乎有所争议,不过按标准算法的话应该是 (8 x VS(Vec4)+ 24 x PS(2 x Vec4))x 2 x 550MHz = 246.4GFLOPS。上图中老黄也把PS3和360放在了一个水平上。
3DS:3.2GFLOPS
3ds的浮点性能的计算方法我已经发过了,不过这里修正一下,Fragment pipeline部分的combiner可以做MAD操作,但是全做MAD只是假设,实际上的话更多是做interpolate操作,也就是AxC+Bx(1-C),并且并不是每个combiner都会参与计算,而且并不都是32bit操作,所以用现在的标准去衡量并不合适(架构太过时了。。参考NV10的Resister Combiner),所以就不计入其中了,只算Vertex Shader的话就是3.2GFLOPS。
另外说明:New 3ds和原版3ds相比GPU没有任何变化,所以New 3ds就不收录了。
PSVita:28.4GFLOPS
PSV的GPU频率最高为222MHz,以最高来计算的话就是4 x 4 x Vec4 x 2 x 222MHz = 28.4GFLOPS。
Wii U:320sp x 2 x 550MHz = 352GFLOPS
Xbox One:768sp x 2 x 854MHz = 1311.7GFLOPS
PS4:1152sp x 2 x 800MHz = 1843.2GFLOPS
PS4 Pro:2304sp x 2 x 911MHz = 4197.8GFLOPS
2016年11月24日 13点11分 1
level 10
[笑眼]很棒
2016年11月24日 15点11分 3
level 12
android上不少游戏非常吃cpu,而且画质不咋滴,是不是把本该交给gpu处理的任务让cpu做了?就像那些早期gpu一样效率低下?
2016年11月25日 04点11分 4
还是驱动层的问题吧,手机需要驱动进行draw call,画面元素越复杂draw call越多,cpu压力就越大。而在游戏机平台这个问题要好很多,因为都是基于底层api,甚至绕开驱动直接访问硬件。另外opengl里还有非常频繁的状态更新,也相当吃cpu,一般来说api效率越高的话,cpu压力越小
2016年11月25日 08点11分
level 14

2016年11月27日 09点11分 5
level 7
2016年12月02日 11点12分 6
我说的就是这个网址信息不完全正确,随便指出几点:NDS不支持硬件浮点,3DS PICA200正确频率268mhz,PSP的GPU name是graphics engine,psv gpu最高222mhz,xbox的就不说了,老黄自己的ppt都不过10,怎么算的20?ps2的浮点数值完全来自EE
2016年12月02日 13点12分
我去垃圾移动把这给墙了,以前都还能上
2016年12月10日 11点12分
不支持硬件浮点是什么意思?那做3d游戏运算处理靠的什么?不太懂 望解释
2017年05月21日 02点05分
level 13
做成表格直观一点
3DS的数值为理想状态,详情看:https://tieba.baidu.com/p/4827232474
2016年12月08日 15点12分 9
level 1
老任的新机大概和XBOXONE持平吧?
2016年12月10日 10点12分 10
持平不大可能,最大的可能是介于wiiu和xboxone之间
2016年12月10日 10点12分
level 1
wiiu只有160sp
2016年12月10日 10点12分 11
@还是那个小新💯 新架构效率自然高于旧架构,尤其是处理新特效。160sp基本上是定论,唯一支持320sp的证据是当年die shot比大小,但是当年比错对象了。
2016年12月11日 13点12分
不是320么
2016年12月10日 11点12分
2016年12月10日 11点12分
@GTX99990 好像也没得出结论。。但是160sp的话,几乎不可能赶上PS360啊,wiiu的CPU性能还远落后于他们,不符合实际情况。
2016年12月10日 14点12分
level 6
楼主不容易啊[哈哈]
2016年12月10日 12点12分 12
level 1
写过psp vfpu的矩阵运算代码
只能用汇编。。。
2016年12月11日 03点12分 13
厉害,汇编[真棒]
2016年12月11日 08点12分
level 7
另外 能往ns吧转吗?
2017年05月21日 02点05分 14
先别转,这个帖子我还要写个修正版
2017年05月21日 04点05分
@还是那个小新💯 好的 期待 我对这个也很感兴趣
2017年05月21日 05点05分
@还是那个小新💯 希望能加上ns 然后 wiiu到底是160sp还是320sp敲定敲定
2017年05月21日 05点05分
2017年05月21日 06点05分
level 9
CLX2是DC互换的街机平台Naomi以及Naomi2(Naomi2是用两颗CLX2的)的代号吧?DC的GPU通常都叫PVR250DC
2017年06月05日 15点06分 15
之前我在A9VG的论坛里有人说Naomi2平台的性能大致和Model 3相当(Model 3的GPU是F22战斗机的制造商洛克希德马丁公司研发的)
2017年06月05日 16点06分
@工藤君♂ 没开玩笑?model3才100万多边形 naomi至少300万呀?
2017年06月07日 09点06分
@蓝色samson 那不是我的原话,只是A9论坛上某些人的看法,M3与Naomi性能比对的那个讨论帖子貌似还是11年发的
2017年06月07日 16点06分
@工藤君♂ 街机平台我不了解,DC的话,PVR给DC版起的专属型号名叫PowerVR-2DC(PC和其他平台叫PVR250),核心就是PowerVR2(CLX2是其代号),在DC主机中整合在代号HOLLY的芯片内
2017年06月08日 06点06分
level 9
至于世嘉Naomi系以后的街机平台都是基于PC,我在这里也描述一下。Lindbergh的参数是支持超线程技术的奔4 3.0E,1G双通道DDR-400内存,GF6800 256M AGP显卡。Ring Edge一代的参数是奔腾E2160,1G DDR2-800内存,8800GS显卡,32GB固态硬盘。Ring Edge二代是酷睿i3-540,GT545 1GD5显卡,4GB DDR3-1600内存,32G固态硬盘,Sega Nu是酷睿i3-3220,GTX650Ti 1GD5显卡,4GB DDR3-1600内存,64G固态硬盘+500G机械硬盘
2017年06月08日 08点06分 16
这纯粹就是pc啦[狂汗]
2017年06月08日 08点06分
1 2 尾页