0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图形技术深度谈——主流(中端)移动平台上的极速后处理特效

安芯教育科技 来源:未知 作者:李倩 2018-05-30 11:45 次阅读

在刚刚过去的Unite北京年度盛会上,安谋科技中国(Arm China)有幸能与广大开发者一起管窥最新的图形技术,并现场把玩趣味横生的XR技术演示,共有300多位热心观众亲临了我们的技术专场,加上不计其数的展台访客 ,不仅带来了超越预期的人气,也留下了许多宝贵见解。

近些年来,中国的移动游戏市场,史无前例地高速发展,在这里,我们看到一个又一个奇迹地诞生,而其中多半,都离不开Unity引擎和它背后充满活力的开发者社区,每年的Unite的大会,更是一个真正的焦点时刻,将五湖四海的业界豪杰,聚于一堂,碰撞出技术和商务的火花。Arm也都非常有幸,在过去的这么多年里,能同Unity一起不断见证并助力于移动游戏产业的茁壮成长。

时至今日,从市场规模和用户数量来看,移动游戏已远超包括PC和主机平台在内的任何其他游戏形式,而在此其中,具备高度拟真图形效果的游戏,慢慢凭借着自己的品质优势脱引而出。

在亚太地区,大约90%以上的移动设备都是采用Arm架构,并且其中大多数又同时配备了Arm的Mali GPU,辅以Arm出色的硬件基础,调试工具,以及开发技巧,绚丽的图像效果不再只是高端机型的专利,开发者可以把自己卓越的创意,毫无障碍地带给几乎所有的玩家,从而获得过去难以想象的成功机会。

主流(中端)移动平台上的极速后处理特效

仔细观察,不难发现,上面4幅实时渲染画面在视觉效果上的差异,上排两张是没有加入Bloom效果的原始画面,人物盔甲以及地面金属材质的表现力差强人意,而下面两幅经过优化的画面,不仅在关键元素上光芒四射,而且还能在绝大多数移动平台上稳定运行于60 FPS高帧率之下。

这几张画面截取自Arm重要的游戏生态战略合作伙伴: Nordeus开发的3A级移动大作Spellsouls(目前还在内测阶段,尚无正式的中文名,坊间有爱好者称之为 “魔法战魂” )。Nordeus是一家来自塞尔维亚首都贝尔格莱德的独立游戏工作室,而Spellsouls是其代表性的作品之一,在近年来的GDC和UNITE大会上,他们都不时与开发者无私分享自己的宝贵经验。

Nordeus与Arm常年保持在移动游戏优化方面,深入而紧密的协作,我们也期望在中国孵化更多这样的生态合作典范。

定制化Forward+渲染路径:

为了能在最多的设备上,以最高渲染质量,流畅运行于60帧,Nordeus在Spellsouls里创新性地使用了Forward+的渲染方式,从而最大地发挥移动GPU的Tiled Based架构优势(而Mali GPU就是典型的TB架构)。出于众所周知的原因,将PC和主机平台上成熟高效的Deferred Rendering技术直接应用于移动平台,仍然是不太现实的选项,而传统的Forward渲染也存在着一定局限性,其运算复杂度会随着光源数量与场景复杂度,急速上升而几乎无法处理4个甚至更少的动态光源。

而在这个游戏里,暗黑真实系的基调,以及大量高反射材质急需出色的光照效果来烘托气氛,幸运的是开发者能开拓性地实现Forward+渲染路径,辅以合适的光源属性,数量,与范围设置,从而圆满解决了这个大问题。

关于Forward+在移动端的实现,特性,实现技巧,Arm正计划在不久的将来,推出一系列的深入的主题,结合生动的实例加以探讨,敬请各位期待。

效果和性能间的精妙平衡

现场的听众一定还记得,整个演讲是以一种倒叙的手法,把整个游戏的优化过程娓娓道来,在此我们就不再卖关子了。

在整个游戏的性能优化过程中, 选择合适的贴图分辨率,包括地形,光照贴图等,虽然都是些不大起眼,也不高深的举措,却也收效显著,为整体的FPS提升出力不少,即使在打开了PBR的前提之下,仍能让开发者在最终阶段,有足够的渲染算力预算,用于能做到很高效但也不会完全免费的后处理上。

这里需要特别指出的是,很多开发者可能误认为,PBR就是高端旗舰平台的专属,殊不知只要实现得当,千元机也一样可以有。

高度优化的Blur实现方法

o4YBAFsOHt-ANxB-AABZdd9rMsY223.png

Spellsouls采用了上图可比标准高斯模糊提速14倍的超高效Blur方法,由Arm在2015年发表。简单来说这个技巧就是,通过先期不断缩小目标图像,后期再次放大,并与此同时交替进行水平或垂直方向的快速像素混合操作,来大大减少整体所需的像素操作运算量,性能比起经典算法有了质的提升。

欢迎大家读过之后,也能在自己的项目里大胆采用,有任何问题或发现都请随时与我们取得联系!(Nathan.Li@arm.com)

灵活使用预烘培与广告牌

// Vertex shader

floatlightObjCameraAlignment = dot(objToCam, reftLightDir);

halfalignmentFactor = clamp(lightObjCameraAlignment, 0.0, 1.0);

// Fragment shader

halfbloom = rawGlossMap.a;

finalColor += finalColor * bloom * i.alignmentFactor * _BloomStrength;

在Spellsouls里,采用了在游戏制作阶段,就把Bloom map相关的信息提前生成并巧妙地存储于相应纹理的Alpha通道里,在游戏运行的时刻,把混合后的像素贴在一个永远朝向摄像头,并悬浮于角色与视窗之间的公告牌上,用上面两个简洁高效的shader就做出了栩栩如生的高光效果,多么巧妙!这样做,可以既避免角色高光效果被轮廓线所局限的问题,又保证整个处理过程只要不到1毫秒!

移动游戏优化的思路与相关工具

关于效率与效益的思考

o4YBAFsOHuCAFnzsAABLTWoxlkQ694.png

o4YBAFsOHuCAJ657AABh7sRwFBU981.png

长话短说,无数的项目已经证明,如果要想收获最大的效益,那么我们在一开始跳入细节之前,应该最大限度从更高的层面上,整体把握好优化的重点与方向,切不可做舍本逐末的亏本生意,避免把宝贵的时间与精力,过早过多地耗费于一些旁支细节的改善之上,如上图所示请向左看。在Spellsouls这个游戏项目里,基础渲染优化后花了约16毫秒,加上超高速的后处理(<1毫秒),最后能稳定运行在60帧。

Arm的开发者工具套件

o4YBAFsOHuCAI8A6AAD5RxmFpy4398.png

o4YBAFsOHuGAZYA0AAC9BX4GA5w424.png

上图是Arm的(主要)开发者工具全家福与我们推荐给的大家的使用顺序图,原则上讲我们通常都是先通过DS-5 Streamline来确定性能瓶颈所在,然后用Mali Graphics Debugger来分析应用的行为,在最后的细节优化阶段,用Mali Offline Compiler来一步步提高Shader效率。

DS-5 Streamline本身有完全免费的Community社区版供下载使用,同时对于希望深耕的开发者,专业版的购买请直接与我们联系。Streamline社区版在GPU分析方面可以说和专业版(可免费试用3个月)无二,只是对于一部分CPU的HW Counter(硬件计数器)有所限制。而Mali Graphics Debugger(MGD)本身就是一款免费的工具,只有Trace/Replay(录制回放)等个别高级功能需要DS-5专业版授权来解锁。

值得一提的是,MGD目前已经可以在绝大多数设备上,直接运行而无需root,当然前提是开发者拥有项目源代码,并在对应的引擎(Unity和Unreal Engine)里打开相应调试选项重新构建后才能使用,如果需要调试没有代码的应用APK,还是需要使用root过的设备噢。而DS-5Streamline过去是需要root并且重新编译设备的内核代码,才能做有效分析的,这一限制会在不久的将来,在更多设备上被解除,从而极大地方便开发者,细节请与我们沟通。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8653

    浏览量

    361847
  • 图形
    +关注

    关注

    0

    文章

    71

    浏览量

    19187
  • 移动平台
    +关注

    关注

    0

    文章

    83

    浏览量

    11557

原文标题:图形技术深度谈——在主流移动平台上挥别后处理特效的烦恼

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三星LPDDR5X DRAM已在高通骁龙移动平台上验证使用

    LPDDR5X解决方案在高通技术公司骁龙移动平台上的成功验证,证明了我们在DRAM技术方面的先进地位。
    发表于 03-03 10:56 887次阅读
    三星LPDDR5X DRAM已在高通骁龙<b class='flag-5'>移动</b><b class='flag-5'>平台上</b>验证使用

    知识平台上SOC的高速发展

    从知识平台角度认识集成电路-----知识平台上SOC的高速发展 1.从工具发展看集成电路2.集成电路的归一化技术3.集成电路的知识集成4.微处理器的智力集成5.从知识
    发表于 12-03 17:33

    主流四核移动处理器解析

    主流四核移动处理器解析
    发表于 08-20 13:01

    在Multisim的仿真分析后处理器应该如何使用?

    在Multisim的仿真分析后处理器(postprocesser)应该如何使用?如何在以一个α量为参数运行参数扫描获得两个相关量(设为a,b)的图线后,获得a,b之间的图线?要获得上面的结果是否要使用后处理器?
    发表于 06-22 16:43

    视频监控系统图像处理技术应用解析

    视频监控系统图像处理技术应用解析随着物联网和移动互联网技术的迅速发展,传统的IT架构逐渐云端化,计算资源和承载业务将进一步深度整合,在物联网
    发表于 09-23 15:00

    具有专利的运动精确图像视频后处理

    器(postprocessor),帮助电视制造商显著提升液晶电视上高清运动图像的质量。恩智浦全新PNX5100视频后处理采用的这一技术结合了影像抖动消除(Movie Judder Cancellation)、运动
    发表于 08-27 16:14

    如何使用PVRTexTool提升移动图形的效果

    本文作者Ben Anuworakarn 是PowerVR 开发技术团队的技术作者,具有计算科学工程知识背景。文中,他针对移动游戏画面的优化,介绍了图像纹理
    发表于 01-28 07:02

    如何实现嵌入式平台深度学习的智能气象监测仪器的设计

    基于嵌入式平台深度学习的智能气象监测仪器设计方案一、概述二、整体框架三、人工智能部分:四、嵌入式部分4.1安卓主控4.2协处理器五、人机交互一、概述以目前常见移动设备的存储和计算能力
    发表于 11-09 09:14

    分享一种在Rockchip平台上生成图形的方法

    1、如何在Rockchip平台上生成图形Xserver 是在常规桌面 Linux 平台上使用的显示系统。Rockchip 有一个定制的 Xserver 可以启用 2D 加速。Xserver 通常具有
    发表于 07-14 16:46

    Unity开发者Arm指南-特效图形技术介绍

    本指南介绍了几种可以在Unity程序中使用的特效技术,包括: •脏镜头效果 •雾效果 •冰墙效果 在本指南中,有图像显示了如何在示例中使用特效展示了冰洞演示和Nordeus的游戏Spellsouls
    发表于 08-02 06:07

    AMD计划把图形处理器集成到主流服务器

    AMD计划把图形处理器集成到主流服务器  AMD官员称,随着AMD努力提高系统性能,AMD将从2012年开始把重点更多地放在把图形处理器内
    发表于 02-09 10:44 509次阅读

    主流移动四核处理器简介

    四核版、小米M2… 四核时代离我们越来越近,那么作为消费者,我们对四核的了解如何?现今主流的几大移动四核CPU都有哪些?下面让小编为你细述现今几大主流移动
    发表于 08-24 09:59
    <b class='flag-5'>主流</b><b class='flag-5'>移动</b>四核<b class='flag-5'>处理</b>器简介

    使用Python的焊接后处理的详细说明

    后处理是数值计算的关键技术之一,是分析数值模型结果以及预测焊接结构和工艺的重要步骤。采用合理方法和思路,才能很好的实现后处理功能。 MSC. Marc提供了 Pvpost后处理函数接口
    发表于 10-20 16:16 6次下载
    使用Python的焊接<b class='flag-5'>后处理</b>的详细说明

    出保的车后处理有问题该怎么办?

        总有些师傅认为出保的车,后处理有问题,更换新的后处理配件,成本很高。所以后处理出问题以后宁愿去屏蔽后处理,甚至为了贪图便宜加一些恶劣尿素。那么这么做真的省钱了吗?和修
    的头像 发表于 01-18 16:11 3319次阅读
    出保的车<b class='flag-5'>后处理</b>有问题该怎么办?

    Mastercam后处理机器定义说明

    Mastercam后处理在开发5轴后处理的时候,始终绕不开的一个就是机器的定义,由于机器的结构种类繁多,各个厂家生产不同结构的5轴机器,那么在开发5轴后处理时,比如要定义机器各轴的结构类型,否则
    的头像 发表于 05-26 17:40 2657次阅读
    Mastercam<b class='flag-5'>后处理</b>机器定义说明