» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

SWITCH真比PS3强么?

posted by wap, platform: Chrome
ps3的cpu更强,开发难度更大。switch的gpu更强,开发难度相对低

ps3的开发难度,1是因为ppu是in order,指令分为奇偶序,优化的复杂度甩给了开发者;2是ppu spu并行编程很难实现,因为当时连c++11标准都没有。lockless programming的包袱同样甩给了开发者。大部分开发者不具备这个能力

3是因为ps3时期 pc和console都处于从单核单线程向多核多线程过渡的阶段。大部分开发者的思路还停留在单核单线程,先进一点的对于多线程的理解也是停留在system on thread阶段。随着2015年之后cpu核心进一步增多,游戏代码job化基本是从2015年之后才在各大开发商逐步完成的

本帖最后由 MacPhisto 于 2024-3-4 12:57 通过手机版编辑


TOP

posted by wap, platform: Chrome
引用:
原帖由 @zhangbin0806  于 2024-3-4 21:12 发表
360cpu抄的cell 微软利用地缘优势伙同ibm等摆了索尼一道
当年三家都用的powerpc,可见确实没什么别的选择

cell可惜了。以ppu+spu的并行处理能力,一开始索尼根本没打算用nvidia的gpu。但索尼的技术实力还是不足以让开发者能够方便使用到ppu+spu,而且大部分开发者对于多线程优化都在摸索阶段,也确实没那个实力去做

假设以当今的c++标准,加上近年来开发者实力的提升,再来一个ppu+spu这种非对称解决方案,多线程开发就会轻车熟路了



TOP

posted by wap, platform: Chrome
引用:
原帖由 @hourousha  于 2024-3-5 11:03 发表
我看和多线程编程思想与语言及库发展不充分关系也没那么大,SPE最适合的是SIMD运算密集型的操作,SPE的local storage memory机制就注定了它就必须把任务切成互相独立的相对长时间运行的子任务,也就是说它的优化方向一开始就是固定的了,榜样嘛那也是现成的,GPU里运算单元干的就是类似的玩意。但根本问题就是SPE能比GPU干的更好吗?而游戏开发中,基本只有密集的运算代码吗?
更不要说,PS3推出时间和Nv的G80是前后脚,CUDA在来年也出来了。PS3即使SPE开发充分了,规模上有优势吗?
商用处理器开发的重要初衷是经济性而不是不计成本搞出个无短板巨无霸,Cell相比GPU属于万金油,什么都能干点,但相对的在GPU擅长的图形领域是肯定不如GPU,那么SCE拿来扔PS3里打算干嘛就很微妙了。
总而言之要我说Cell完全就是个弯路,Cell并非完全无用,不过把成本投入到GPU里显然能得到更好的收益,要说游戏中GPGPU的正确应用方式在09年给出了答案:即Compute Shader,这工作还得是API制定者(MS)与显卡厂商来共同完成。
spu确实可以看成是粒度大一些的compute shader

3a游戏代码job化,大概是从2015年之后陆续普及的。job其实就是你说的彼此互相独立的子任务。但这个子任务的粒度不会像gpu shader那么小

在c++11之前,各个平台都有自己的多线程库,内存访问时序控制也都是平台相关,如果开发团队想要多线程化,基本都需要汇编级的优化,显然这个门槛太高了

而且当时的优化思路仍然是system on thread,这个只是对于ps3 xbox360还算适用,但总体来说,对cpu spu的利用率远不如之后的job化

job化之后,就算是看上去并行程度没有那么高的ai,gameplay代码,也都可以并行执行了,这样游戏运行时的ai npc数量自然也就上去了。但ps3过于超前,等大家都找到多线程的门路,ps3也早就退役了


TOP

posted by wap, platform: Chrome
引用:
原帖由 @hourousha  于 2024-3-5 14:05 发表
当年顽皮狗在神海2时代就发过paper讲Data Driven Optimization和SOA这些,你总不能说他们的优化对于PS3还远不够。换句话说,Cell的性能就那样,再优化能挤出多少,这能解决游戏实际运行瓶颈吗?能让TLOU的敌人数量大幅增加还是帧数翻倍?
我还是那个观点,Cell那不叫过于超前,那叫用在Console上不合时宜。
顽皮狗做代码job化其实是ps4版last of us移植,差不多是2014年,在此之前行业普遍积累了一些dod的经验,为后来job化打下了基础

论到job化,顽皮狗是先锋之一,但也是后知后觉了,毕竟需要c++11这些基础设施做支持

基本上欧美开发者逐渐掌握job化技术是从2015年开始的, doom, 守望先锋都是那些年出现的代表产品。ps3的意义其实是在2005-2010这个蛮荒时期强行推进了console和pc向多核多线程的转变,没有这个经验积累,主流console游戏开发也不会在ps4时期完成job化

本帖最后由 MacPhisto 于 2024-3-5 14:24 通过手机版编辑

TOP

发新话题
     
官方公众号及微博