还是那个小新💯
crayon嘻哈小新
凸
关注数: 1
粉丝数: 333
发帖数: 7,991
关注贴吧数: 2
简单说下Mali G52核心的问题 主要说一下核心 之前的G51的核心分为单像素核心和双像素核心 到了G52被取消了,相当于只有双像素核心了 G51的MP主要在单/双像素核心之间定制和选配 G52的MP在计算单元(execution engine)上定制和选配 每个核心可以在2组ee或者3组ee之间选配 每个ee的宽度从G51的4宽提升到了8宽 相当于是一组ee = 8 x ALU,那么一个G52核心 = 16或者24 x ALU 最初公布的时候G52最多只支持四个核心的选配
PS4截图赏析 pro的,没4k显示器所以用的1080p模式,截图用的4k模式,系统拉伸的
Switch软硬件简析 莫名其妙就被删了,贼气,害我重码一遍!
关于某GT技术的个人见解 佛了,刚发就被秒删,再试一次
Switch处理器频率信息确认 信息来源:switchbrew,和3dbrew,wiibrew,wiiubrew等等类似的姊妹站,都是各路破解大神/模拟器开发者大神等共同更新维护的,很多破解和模拟器的源资料均出自于此,有兴趣的自己去看,我就不多说了。下面单说频率信息 首先性能模式分别有底座模式(docked),掌机模式(handheld),然后又细分多个模式,都是固定的组合,开发者可以调用相应的性能模式 gpu频率768和230.4(单位mhz,后面就不说了)这两个模式是底座模式专用的,掌机模式不能用(不知道为什么掌机不能用230.4这个模式),其他为掌机/底座模式都能用 cpu频率1224的两个模式是开发机专用的模式 最后两个模式可能是特权?模式(Privileged)这个我也不清楚是啥,也没有详细说明(或许是某些特定游戏才能使用的模式)总结一下: 零售实机性能最高的主机模式为CPU@1020MHz,GPU@768MHz,内存@1600MHz 掌机模式最高的为boost模式下的CPU@1020MHz,GPU@384MHz,内存@1600MHz 当然为了实际情况降低发热/功耗,还有多个模式供选择 最后两个暂时还不知道具体情况,如果在掌机模式下能开启,那掌机模式最高GPU性能就是460.8MHz了 基本上之前eurogamer爆料的都是正确的
switch还是用了部分安卓 查看系统许可信息里,可以看到android related的协议许可说明 最早cm ceo爆料过老任找他们要为ns做一个定制版的安卓系统,但他们拒绝了,最后老任自己弄了个基于freebsd的系统,但还是用了一点安卓(He also pointed out that, despite the Switch not running Google's OS - or any version of it, from Cyanogen or anyone else - Nintendo "still used bits of Android" in its development.)看来这些确实属实。 其实这个reddit上早就讨论过了,只是我最近才注意到,不过具体细节现在不得而知。总而言之呢,就是switch确实是用了一部分安卓,freebsd是内核,那么安卓应该是内核层之上的了,或许在中间层也或许是高层,也有可能和ps3/ps4那样类似hypervisor的多系统架构
【修正】游戏机GFLOPS 修正和优化上一贴里一些有误的数据 这次加入一些标准,主要以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,所以暂时只能等待,或者等黑客或者其他开发者泄露了,总之有确切的数据之后我会更新的。
Adreno的浮点性能? adreno家族尤其是5xx之前的系列,向来有着报表的理论浮点性能,却又对应着不相称的图形性能。 比如我手头现在的810的430,首先用炮神的烤机确定其一共包含256个alu,用高通的profiler查看,alu利用率92%,折算后和理论值基本吻合,也就是说理论峰值性能为322.56gflops,实际300不到点。这么高的浮点性能,原则上来就算架构落后,转换成图形性能也绝对不弱,不过最近和660对比后发现游戏性能还不如660,而660只有75gflops的理论性能,当然这里还有cpu或者其他方面的较大差距。 首先看下660的512,用炮神的烤机反测是64个alu,alu利用率也是92%,折算后和理论值基本吻合。然而到了游戏中alu利用率还远没有这么高。如下测试:分别是辐射城,农药,2k18辐射城最高画质(hd分辨率,1.0像素刻元)50%多,频率可以稳定在最高的650mhz,折算浮点42左右 农药最高画质高帧率,有70%多,频率也可以稳定在650mhz,折算浮点62左右 2k18最高画质(开球衣模拟),但是频率只有300多mhz,折算浮点只有20左右,并且帧率还有30左右(图上测试有损失),2k18真是有点吃惊,可能是cpu负载情况太好的原因,大核全程在线,全程满频,全程高负载,负载情况比开了vulkan的模拟器还好(后面说) 再看看同样游戏的430的情况,图就不上了,没保存好,口述了 辐射城: 平均alu利用率在25-30%(基本在25左右),频率基本在390-450mhz(也就冬天能稳在这频率),折算浮点57左右 农药: 高帧率稳不了,系统自动关了。50-55左右,频率打死180,折算浮点46左右 2k18: 平均alu利用率只有15-20%(大部分15%,所以按15算),频率浮动较大,基本在305-450之间,折算浮点35左右 可以看出,430浮点性能的优势根本发挥不出来,即使是跑gfxbench的alu利用率也只有30%多,alu测试可以跑到75%,也就这个能跑这么高。由此看来并不是系统设了阈值,具体原因的话就不清楚了,可能是api或者draw call压力太大,造成驱动压力太大?也可能是硬件端设了阈值?有个情况是当频率越高时alu利用率越低,内部有类似功耗墙的限制?具体原因就不得而知了,有知道的大神请务必科普一下。 针对驱动压力的问题,我也留意了一下,2k18里,当常规视角时api call达到了1w+,draw call也突破了一千,但是当特写视角的时候api call降低到3000多,draw call也降低到200以内,这时alu利用率提升到50-60左右,帧率也大幅提升,同样的问题在辐射城室内也有,但我还是不太确定。 总而言之,当时高通公布430比420gpgpu性能提升100%,而图形性能只提升30%的时候就觉得很奇怪,那现在推测420利用率也高不了。 那为什么高通要堆到256个alu呢,又发挥不出来,钱多烧的慌吗,这个倒还是有原因。 adreno主要有三个api的context,分别是opengl,opencl还有ui,opencl一直被高通看重,比如用来加速摄像,所以在摄像的时候alu利用率可以达到80%以上,同样的ui加速的时候也能达到80以上,这么看来游戏反倒没多少收益。opencl会有驱动开销影响浮点性能的问题,所以我才猜测是不是opengl也有影响。 再说回660,5xx的驱动开销相比4xx有大幅提升,同时5xx还支持UBWC和Draw order independent depth rejection这两个4xx没有的特性,所以5xx的效率也有着不小的提升,不过看来5xx同样不能最大化浮点性能,会不会api本身也有影响呢? 所以又拿ppsspp的opengl模式和vulkan模式测试了一下,游戏是斯巴达之魂,设置一样。opengl下alu利用率是70多,频率只有300不到,shader busy也接近80(shader是指整个shader processor后面说) 而vulkan模式下,alu利用率平均可以到90左右浮动,频率也可以基本全程650mhz,shader busy也降低到60以下 看来如果vulkan能普及的话,adreno也是可以战未来的 除此之外,或许shader busy也是5xx被制约的原因之一,以后测试了530再说 最后划重点,adreno的理论浮点性能和游戏中的实际浮点性能相去甚远,所以带来了高通浮点虚高的感觉,一般像主机乃至pc上,gpu的浮点性能都能比较高效的转换成图形性能,一个主要原因是主机普遍用底层api甚至直接开发模式,所以原因可能是驱动开销,vulkan? 最后的最后再复习一波adreno的架构 高通官方把shader核心(相当于mali的shader core,pvr的shader cluster)叫做shader(或者streaming) processor,简称sp,在opencl中高通把他叫做computer unit 高端目前为止是都用4组cu(从3xx开始),低端1组,中端2组,好像还没3组的 一个sp或cu中包含有alu,efu,l/s单元,control flow单元,寄存器文件等,还是要吐槽一下浓浓的amd既视感(感觉就像amd的老架构+一些高通的新技术特性,瞎说的,肯定没这么简单) mali的工具也准备好了,等以后有了mali的设备,看看能不能测试mali的情况。
1
下一页