AMD MANTLE技术讲解正式发布会部分详细说明 真正的PC优化来了!
本帖最后由 HJYtm 于 2013-12-20 15:00 编辑https://www.youtube.com/watch?v=QIWyf8Hyjbg&hd=1
有条件的可以看链接英文解说,我稍微翻译一下发布会的状况
该发布会由AMD赞助的Oxide开发商解说
先科普一下Batch:以下单独的发送到GPU执行的指令(复数batches=指令数量)
模型、特效、粒子、GPU运算
Batch类似于函数调用(该调用速度为每帧需要CPU的十万分之一秒,但相对来说在GPU上会慢一些)
(渲染前提:四核八线程 ~10k units,~50k batches)游戏帧渲染延迟的比较
没有MANLTE的:
条件1 6个添加的驱动进程(3个活动驱动进程的情况下) 结果:大于约99ms CPU执行延迟+0ms GPU执行延迟=至少大于99ms帧产生时间
条件2 使用了递延上下文功能 6个添加的驱动进程(5个活动驱动进程的情况下) 结果:大于约99ms CPU执行延迟+0ms GPU执行延迟=至少大于99ms帧产生时间(仍然和不使用该功能一样无法调用机能提高帧时)
有了MANLTE的:
条件:无需任何驱动进程 结果:约18ms CPU执行延迟+约15ms GPU等待=每帧约33ms
而6核12线程条件下以上的33ms延迟结果不变下能达到~80k batches
从前开发优化PC驱动的常见情况:
就像一个大的黑箱子,完全不清楚什么造成了性能的开销 得到的情况是陷入追踪和出错
驱动进程和游戏进程常常冲突
常见情况的从前解决方法(用来查出出错和原因的王道方法):
组织美术资源最小化场景的改变
让游戏摄像机弄的更接近游戏物体
缩减游戏的物体数量
返回到之前用过的进程总数
因此对于奇特的游戏常常会很难调用到有限的GPU资源(个人估计就是雷条那种情况了)
从前开发PC的种种难题:
美工们干活做东西需要为驱动优化一辈子直到做完
美工们不管恰不恰当都需要把物体打包放入同样的材质里
美工们得优化batch数(防止帧延迟问题导致太慢)
设计师得限制自己的设计情况纯粹是因为batch数会导致帧延迟出错,比方:
限制1:设计师只能达到想要20个军队,每个军队100个单位,组成四个阵营,并且做出影子和水面反射
限制2:视角没法缩放到整体地图让人一目了然
从前开发游戏时的各种就像邦迪创可贴一样的优化建议:
不捆绑材质:该建议会使得材质变成全局化、着色器逻辑更复杂、材质管理更复杂、并且材质通常此时已经被美工群组捆绑了
几何实例化:该建议需要优化最快的调用种类、序列化引擎并且提高开发费用
物体打包化
递延上下文:该建议常常会导致失败、最小化测量得到的收益
从前的优化环境导致游戏的劣化情况:
使得用户体验被严重限制,游戏设计师对于这些问题束手无力
增加开发费用并且严重影响开发者脑力
游戏可以开发的种类受到严重限制
PC硬件环境的Batch的性能限制已经达到了危机情况
何时出现从前开发PC游戏产生该问题的危机?
多核CPU成为了主流的时候(从单核性能瓶颈开始)
PC新显卡的主流FLOPS数不断提高都接近了多核CPU主流时的400~500%了,然而每帧的Batch数却仍然低下只有从前的一倍不到
什么导致了驱动问题受制约?
API没有正确对应硬件的容量
对于应用程序来说缺少能力来合理的管理GPU的内存
要求驱动去追踪并处理发生的灾害
驱动和API为了共存只能限制整个内核的扩展性
API没法和硬件一起进化
解决方案怎么办?
要比家用机制约更少,并且不能让开发者们花太多功夫导致费用过高懒得搞
要比硬件具体本身看的更远更能挖掘硬件的性能潜力
要让挖掘了性能后的PC游戏硬件下跑的就像家用机一样流畅
要满足开发者多年来期盼的低层解决方案
这是MANTLE带来的解决方案:
GPU的构架更稳定、不同版本间产生的波动更少
数据种类更标准化,GPU和CPU共享多种数据格式:Long term trend、GPU/CPU converge(汇合)
GPU成为了通用计算设备,几乎只会受到硬件规格的限制
Unified Memory(统一内存)的到来
深入MANTLE:
按照设计师想做的做出来:不需要缩减内容得到更多的游戏感受
让开发者们相互信任,不需要在程序和驱动之间踢皮球,因为驱动变的更利索了
硬件规格的性能虽然不会改变,但是内存(显存)和命令数的危机问题被解决了
所有高性能引擎的利用、所有家用机引擎的移植、驱动故障导致的性能稳定性骤减问题,都需要MANTLE来彻底优化
MANTLE API解剖:
GPU作为处理器执行(着色器)程序,每个程序都有进出口
API不需要提供进出口来给GPU来执行着色器程序
没有多余的CPU性能被浪费,并且无需占用和参与CPU进程
对于Nitrous这款演示游戏,运行MANTLE的前提条件:
对于主流游戏引擎来说,MANTLE不贵也不困难
只需要2个人仅数月工作来支持:在最小化样本代码的预测试版MANTLE中,该游戏就可以使用所有的机能来展示物件和性能,比如UAVs、原子介绍、计算着色器、GPU通用计算指令等等
对引擎来说只有很少的改变
引擎代码数量只从原先的3500行增加到了4500行
对于开发商来说支持MANTLE意味着:
极小代价获得高Batch处理能力
开创了各种游戏种类的开发途径
新的渲染和游戏技术
稳定性和优化的维护时间缩短
超高的性能增加即使MANTLE的更多特性还没有被使用
而且跑的更快
MANTLE的商业案例前景:
便宜的获得支持,可和其他API同时使用,减少数年的开发费用,极大的扩大客户市场、推向产业发展
支持了MANTLE的同时得到了:
程序更灵敏
更多特效
解锁了高端GPU性能
有了适合的GPU后只需要中端CPU性能即可满足游戏需求
CPU核心数越多会导致CPU游戏性能的叠加,不用再去在乎CPU的单核性能了
游戏的结果是:
API导致的瓶颈至少降低了10多倍
CPU多核心数支持比之前更好,同时多核要比之前跑的更顺畅
部分游戏的部分条件下比之前跑的快3倍
彻底改变了单核性能越高游戏速度越快的老规则
CPU测试中8核心的8350FX跑的和价格贵一倍的I7 4770K游戏速度上差不多成绩
在290显卡上,即使8350FX被限制在2.0Ghz频率下,GPU仍然没有被CPU制约性能
MANTLE一路向前:
可以被做成功
100K以上的Batch数量成为了现实,CPU发展可以堆核心数而不是主频
目前的演示只是个开始
2015年目标达到300K的Batch数量
2018年目标要达到100W的Batch数量
GPU和CPU开始相互呼应相互调用
在非多媒体应用程序中GPU可以成为协处理器 API 要考虑通用性必然增加 overhead
不过……要是你未来 GPU 架构一变 MT 不就郁闷了?
还有,这货和粗大究竟有什么区别? 血色馒头有角三倍速 之前看就感觉很像libgcm, 专门优化.. CPU发展可以堆核心数而不是主频
amd的cpu有救了? 如果画的这些大饼都能实现,倒是个好事
毕竟堆核心数比艹频容易 本帖最后由 HJYtm 于 2013-12-20 10:32 编辑
https://www.youtube.com/watch?v=axyHkKn_e80
KAVERI APU
1080p开中=30fps
900p开中=40fps
720p开中=60fps
720p开超高no msaa=30fps
不就是农企依据自身条件,设计的魔改路线么;P 我就问一句,说好的男友4鸡血补丁呢
虽说男友4现在这BUG都满天飞了..... 农企这是要专注apu一条路走到黑了么 ydd319 发表于 2013-12-20 10:55
讲解的天花乱坠,真用时一地鸡毛。想想我当年也是个A饭来着。。。。
没啥好鸡毛的,以前的硬件发布只是堆料,现在是把软件限制解除让堆料的硬件简单的恢复应有的利用水平罢了,这么多年游戏机也是这么做的 引擎代码数量只从原先的3500行增加到了4500行
比较对象是d3d9还是d3d11,是d3d11是否用了多核渲染(其实是多核调用api)
战地4的mantle版出来前只做围观态度 apu策略很正确啊,现在显卡份额最大的是Intel,说明低性能市场远大于高端市场,现在由于PC大作的数量下滑,玩游戏的都逐渐转家用机了,高端市场日渐萎缩了 infinte 发表于 2013-12-20 03:31
API 要考虑通用性必然增加 overhead
不过……要是你未来 GPU 架构一变 MT 不就郁闷了?
还有,这货和粗大究 ...
AMD已经决定祖传GCN了
这是MANTLE带来的解决方案:
GPU的构架更稳定、不同版本间产生的波动更少
数据种类更标准化,GPU和CPU共享多种数据格式:Long term trend、GPU/CPU converge(汇合)
GPU成为了通用计算设备,几乎只会受到硬件规格的限制
Unified Memory(统一内存)的到来 马克一下 本帖最后由 HJYtm 于 2013-12-20 15:41 编辑
66666 发表于 2013-12-20 13:48
说了2年半结果一看世界上大部分PC都不支持,农企不赛钱还是没人用
农企塞钱当然可以节约开发费用啦,大家 ...
大部分PC有没有游戏级别显卡先别说,你找个没有显卡商扶持过的大型PC游戏制作公司看看
大家更清楚现在PC游戏糟糕的优化问题,有的游戏跑360版反而玩着更舒服
增加:还有现在的PC游戏,刚上市就一大堆补丁更新,你觉得好不好呢?开发的难受,玩家更新也烦人,先别说那个被几个补丁问题搞残的战地4了,比如PAYDAY2已经更新了二十多次了,范海辛的更新超过了三十次,WARGAME的更新超过了四十次,都是今年的游戏,毫无好处的浪费时间上去,可见现在的开发情况有多么严峻了
说得好像pd4版战地4没更新过一样,哈哈哈哈哈哈哈哈 66666 发表于 2013-12-20 15:53
所以我不是说了吗,没有农企塞钱谁理你。就PC这点销售量还给你一家单独优化,真是做的一头好梦 ...
就算别人搞出了类似的东西成为了标准
解放CPU多线程这一点,同样是农企需要的。
不去提出技术进步的方向,放弃话语权,那也没有资格作为竞争者了。
AMD这些年失败了好几次,VIA这些年连失败都没有。 3Dnow!不能算成功,但用SIMD算浮点数的解决方案失败了么?
CTM不算成功,但是现在用GPU搞通用处理还要把数据写成纹理走3D API么? 囧囧囧 发表于 2013-12-20 16:14
说得好像pd4版战地4没更新过一样,哈哈哈哈哈哈哈哈
目前的断线跳出、存档崩溃、杀敌故障等等的主要问题和图形引擎没啥关系,主机版不还是老老实实跑到了60fps了么,引擎全都是高效率,纯粹只是游戏的beta版当retail版卖而已 66666 发表于 2013-12-20 15:53
所以我不是说了吗,没有农企塞钱谁理你。就PC这点销售量还给你一家单独优化,真是做的一头好梦 ...
搞笑了,第八代家用机开始X86-64构架,你搞游戏还会在乎出啥版本?你被人塞了钱要独占家用机了?哪个不是跨平台的,然后优化问题难道你出家用机版不需要家用机显卡商扶持一下技术?要画面不照样得农企来帮忙,所以你的问题是:你的情况的立场最多只是个开发手游的或者只能开发PS2游戏画面的日厂才会说出这种话 我的a10 5800k有救了么? 散香TypeB 发表于 2013-12-20 16:39
我的a10 5800k有救了么?
不是GCN的…… HJYtm 发表于 2013-12-20 16:31
目前的断线跳出、存档崩溃、杀敌故障等等的主要问题和图形引擎没啥关系,主机版不还是老老实实跑到了60fp ...
ps4跑ultra级特效咯?哈哈哈 这偷换概念的功夫炉火纯青阿。唉,amd的玩意,馒头这玩意还是等到了用户手上再写颂歌吧,被忽悠了那么多次还不长聪明点。 囧囧囧 发表于 2013-12-20 16:56
ps4跑ultra级特效咯?哈哈哈
上代游戏机那些攀比同屏数量的游戏,经常能看到一簇怪里面的每一只行为完全同步。 囧囧囧 发表于 2013-12-20 16:56
ps4跑ultra级特效咯?哈哈哈
是不是超高特效你可以自己去看,出现超越硬件本身的真实性能的软件神优化的话你就赚了,PC显卡单卡也不能保证4K下面超高跑稳60fps
我仿佛看到了手游玩家声称手机性能超越XBOX360的神论了 卖哥 发表于 2013-12-20 17:09
上代游戏机那些攀比同屏数量的游戏,经常能看到一簇怪里面的每一只行为完全同步。 ...
你想说啥?
囧囧囧 发表于 2013-12-20 17:14
你想说啥?
然后demo里每一架小飞机都会显示出独立的受击动作 HJYtm 发表于 2013-12-20 17:13
是不是超高特效你可以自己去看,出现超越硬件本身的真实性能的软件神优化的话你就赚了,PC显卡单卡也不能 ...
你想表达的东西是什么?跨平台bf4画质对比又不是没有人做过。ps4有什么惊天地泣鬼神的表现? 卖哥 发表于 2013-12-20 17:20
然后demo里每一架小飞机都会显示出独立的受击动作
所以很难为现在的api做同样的事情? 囧囧囧 发表于 2013-12-20 17:23
所以很难为现在的api做同样的事情?
这个demo可以用现在的API跑呀
延迟99ms,10FPS而已。 卖哥 发表于 2013-12-20 17:28
这个demo可以用现在的API跑呀
延迟99ms,10FPS而已。
呵呵。唉。 nv的进步才叫进步,其他的进步都不是。
页:
[1]
2