2014年11月13日 17:33

新浪游戏 > 新闻动态 > 产业服务 > Cocos2014开发者大会(秋季)新浪游戏报道专题 正文页 已有_COUNT_条评论

Intel软件技术负责人谈如何支持Cocos引擎

  在近日召开的Cocos 2014 开发者大会(秋季)上,负责Web引擎的研发,以及H5标准推广和增强的Intel软件技术经理余枝强先生就开发者们比较关心的问题,在大会现场接受了媒体的访问。

Intel

  问:能介绍一下这个引擎本身和Cocos之间的一些合作点在哪?

  余枝强:先从游戏领域说起,游戏的运行逻辑上分几个层次,最上面是游戏的程序本身,下面是游戏引擎,如果是Web程序的话,底下还有一层,称之为Web引擎,支撑的是HTML5相关规范的支持,还有运行的支持, Crosswalk 属于Web引擎这一层。从上到下,开发者用HTML5开发游戏在最上面,然后是游戏引擎的API,包括通用的游戏逻辑封装,音频、视频、图形等再往下就是Web引擎,去支持H5里面各种各样的标签(比如DOM/CSS/WebGL/等)以及Javascript代码这些需要Web引擎的支持。最后再往下就是操作系统中相应的Driver,以及硬件的芯片(CPU/GPU/等)、各种整合在一起。

  Cocos引擎有几个系列,比如Cocos2d-x (c++) , Cocos2d-x JS Binding, Cocos2d-html5等. 我们和Cocos2d-html5有较强的互补关系。基于HTML5把游戏封装好,游戏需要用到比较前沿完整的HTML5功能的时候,就需要Web引擎来支撑。目前的现状是,现有的Web引擎(现有的浏览器以及Webview组件),在H5的功能和性能上都有各自的不足,我们的Web引擎-Crosswalk就是为了解决这个问题,提供较为完整的H5支持以及较好的性能,同时不断的优化和增强,涉及跟Cocos合作方面,我们还会针对游戏,尤其是利用Cocos2d-Html5 API的这种场景专门做针对性的优化。游戏还是有些特性的,针对这些特性,我们会在引擎方面做优化。

  当用户玩一个游戏时,其实整个流程是需要软硬件配合,现在硬件在日新月异不断往前发展,进展很快。比如单指令多数据并行指令(SIMD),硬件多核等,如何把这些能力给Web开发者使用,这也是Web引擎要解决的领域。我们在这方面做了一些拓展,希望通过和Cocos的合作,让HTML5游戏开发者不但可以用到很丰富的H5功能,同时也可以充分的利用到硬件的特性,以及针对性的优化。现在市面上很多HTML5游戏引擎都只用到HTML5的一个子集,我们希望看到一个全集,去开发更加精美强大的HTML5 游戏。我们希望可以解决这些问题。

  问:您的意思是否如果我是一个开发者,想开发一个H5的游戏,就必须要用到这个引擎?

  余枝强:HTML5本身包括很多功能,很多API(DOM/CSS/WebAudio/WebGL/WebRTC/GamePad/等等)。目前市面上的H5游戏引擎,(包括Cocos2D-js),只包含了H5一个子集(主要是图形方面)。如果一个游戏只用到很小部分的API,不涉及到DOM/CSS/其他H5 API等,就可以不需要Web引擎,直接调到下面(一般是通过一个简化的Javascript引擎再加上一些Javascript Binding的API)。如果想用到丰富的HTML5功能,一个完整的Web引擎就绕不过,必须用Web引擎。

  举个例子,如果我们把一个完整的游戏比作汽车,汽车有跑车、一般汽车,决定汽车跑得多快、多好,引擎是决定因素。在H5领域,Web引擎相当于汽车里面的引擎。

  问:Cocos相当于什么?

  余枝强:Cocos2d-JS模块可以认为是一个子集,某种程度上也可以说是这个HTML5子集的引擎。如果要用到HTML5的全集功能,就必须要一个Web引擎来支撑。如果只是选一个子集,那是另外一条路线,H5很多功能相当于丢掉了。所以我们跟客户合作时说,现在很多H5游戏蛮多是在子集上,大家针对子集就跑起来了,但是H5有很多丰富的标准的API,还有很多好用的HTML5软件库,这些想完整跑得非常好的话,就需要类似Crosswalk 这种Web引擎来支撑。

  问:我和一些开发者聊过很多人都跟我说H5的性能完全无法和NativeApp(原生应用)相提并论的,所以他们可能并不是很看好这一块。

  余枝强:这是一个很好的问题,也是我们想尽力解决的问题。H5直观上来说跟原生应用相比多了一个中间层,性能打了个折扣,同时从API方面来看也是相对有所不足,但是Web引擎以及相应HTML5框架演进和发展非常快,这块差距在不断缩小。性能方面相对需要更多的努力。举个例子,在游戏方面尤其是复杂的游戏,有些非常经典的例子,比如说1000个精灵同时在屏幕上以各种形式运动,还有粒子系统,实现各种效果,比如烟雾弹出来的动画效果这些情况下,目前的Web引擎很难达到原生应用类似的体验。比如说Chrome内核,它在H5引擎里面是比较领先的 ,但是对上述两个例子的处理速度还不到原生应用的一半。Cocos里面提供了相应的测试用例。我们针对游戏这种情况做了优化,和Cocos引擎里面相关的代码做了一些深度整合,包括在我们引擎做针对性优化之后,初步的实验结果是:对1000个精灵的例子,性能可以提高50%,当然比原生程序(C++)慢20%-30%,但已经比较接近了;对粒子系统那个例子(烟雾效果),基本可以达到和原生程序一样的性能。我们还有更多的优化在进行中。游戏这种特殊产品,结合游戏引擎和Web引擎,我们做一些全栈式优化,这里还有很多机会可以做。性能差异目前是存在的,但不代表这个东西不可以逾越。而且根据目前的试验结果,我们有信心通过针对性地优化,让Web引擎的性能进一步提升,有能力去支撑重度游戏。。

  另一方面也是Intel的优势,Intel包括芯片、系统性能优化,并行处理都有比较强的技术积累。,现在手机CPU 一发布经常都是4核、8核,GPU 更是多核,CPU还有类似SIMD(单指令多数据)的并行处理能力。这些能力目前在H5游戏领域基本都没有用到,我们正在在Web引擎里加一些支持,可以把4核、8核或几十个核以及SIMD这些能力衔接在一起发挥出来,让性能得到进一步的飞跃。,这也是我们另外一个优势。Web现在赶超非常明显。

  我们前段时间做了一件事情,腾讯有个Web前端团队 (AlloyTeam)做了个开源图形处理库,这是基于H5开发的,可以方便的利用HTML5实现一些图形处理,比如粗糙效果/木雕效果等这些效果的处理,在台式机上性能还可以,而在在移动端需要4、5秒,有些复杂情况的处理(比如木雕效果)甚至需要40、50秒,这样的性能根本没办法在移动端使用。。我们用了并行技术优化后,在Crosswalk上可以达到2倍-20倍性能提升。原本木雕效果是40秒以上才能完成,优化后只需2秒左右。而且这样的优化是在引擎以及Javascript库这层实现的,对开发者比较透明,上层的HTML5程序无需修改就可以体验到性能提升。对开发者很简单。

  我们可以看到,目前情况下一些看来用HTML5不可能实现的事情,通过这些些优化之后,突然变得可能了。我相信这块会有很多机遇在打开。如果大家听了上午的演讲,可以感觉到基于Web的开发正在慢慢崛起。通过软硬件结合,通过在Web引擎领域不断的创新和推动,我相信HTML5能做很多事情,到时候希望有更多的实例展示给大家。我们也希望跟游戏引擎、游戏开发者一起有更多的合作。

  Web语言很灵活,导致高效的程序不容易写,需要更多优化,如果看到一个游戏性能很差,问题可能会发生在很多层次,可能是Javascript写的不好,没有对Web引擎很好了解的话很容易中招,也有可能是游戏引擎不够高效,也有可能是Web引擎的性能问题。通过不同层面的优化,会慢慢得到很大的改观,而且会做越来越多的事情。希望和大家一起努力推动HTML5前行。

Cocos 2014开发者大会(秋季)

  Cocos 2014开发者大会(秋季)是Cocos开发者平台的第九次会议,秋季大会的主题为“Great or nothing”。触控科技将在大会中正式发布了“Cocos开发者平台”,并宣布与多个国际巨头的战略合作。作为本届大会的重头戏,Cocos开发者平台将一体化整合开发者生态圈,Cocos Engine工作流可为开发者提供“创意→游戏上线→收入提升”过程中所需的全套产品与服务,包含畅思广告平台、Cocos Play、AnySDK等重要战略级产品。

声明:新浪网游戏频道登载此文出于传递信息之目的,绝不意味着新浪公司赞同其观点或证实其描述。

相关新闻

CGWR:

  中国网络游戏排行榜(China Game Weight Rank)是由新浪游戏推出的目前国内最全面、最专业、最公正的最新网络游戏评测排行榜,涵盖2010-2012内所有新游戏,力图为中国游戏玩家打造最值得信赖的新网游推荐平台。

  新浪中国网络游戏排行榜是以由新浪游戏专业评测员组成的评测团队为核心,以游戏的画质、类型、风格、题材等游戏特性为依据,对中国(大陆港澳台)、欧美、日韩等地区正在进行测试或正式运营的新网游产品进行评测并打分后产生的权威游戏排行榜。新浪中国网络游戏排行榜将网络游戏从六大项、二十八个小分项与同类游戏进行横向比较,再将该游戏与自身的不同版本进行纵向对比后,由评测中心根据加权平均数得出最后的游戏分数,并以游戏测试及上线时间点为分组,根据每款游戏的CGWS分数在每个季度发布排行榜榜单,实现了排行榜的透明化和实时化,帮助玩家准确、迅速地找到心目中的理想游戏。

  评天下游戏、测产品深浅—新浪中国网络游戏排行榜CGWR! http://top.sina.com.cn