首页 >> 通信新闻 >> 互联网 >> 正文
 
全硬件加速的HTML5游戏引擎是这样炼成的
----对话欧朋首席技术官罗志宇
http://www.cww.net.cn   2013年9月28日 14:28    

通信世界网讯(CWW)由于HTML5具备跨平台、易移植、部署简单、节省成本等优点,所以从2012年甚至更早的时候,HTML5游戏就被炒得火热起来。但事与愿违,这一年多来,由于HTML5的性能瓶颈,导致成功的HTML5游戏少之又少,市场情绪低迷。正是在这样的背景下,2013年2月在西班牙巴塞罗那世界移动通信大会上正式发布的全球首款基于硬件渲染的HTML5游戏处理引擎——Sphinx,于近日开放公测和上线开发者社区,正式吹响了全硬件加速HTML5游戏引擎的进攻号角。

《程序员》:大家都看到HTML5的好处了,那么在HTML5游戏遇阻之后,大家又是怎样的反应?

罗志宇:有三种情况。第一种最普遍,就是观望,等待整个产业进步以后,再继续跟进。第二种是基于现状的妥协,比如不做重度网游,只做休闲游戏;不做Android版,只做iOS版。因为从性能上来说,苹果是所有厂商里图形做得最好的,可以反过来抵消一些浏览器游戏展现能力的缺陷。第三种是不妥协,积极寻求可行的解决办法。这种团队认为自己已在HTML5游戏上花费了大量心血,而且也小有成绩,他们不想在用户体验上打折扣,所以就想寻求突破。在这点上,他们与欧朋做Sphinx的初衷非常切合。

《程序员》:所以想到了要做Sphinx

罗志宇:可以这么说。我们当时的出发点非常简单。作为浏览器平台厂商,天生就要做HTML5,而如果游戏厂商想用HTML5,却失望而归的话,平台就很容易衰败。所以我们想解决HTML5游戏存在的问题。

分析之后,我们发现导致HTML5性能瓶颈的主要原因是在HTML5和底层硬件之间隔了一个浏览器,而浏览器的首要任务是展现网页,而非游戏。

由于我之前是做渲染技术出身的,所以很了解游戏一般会卡在两个地方:一个是CPU效能,另一个是GPU效能。CPU效能更多的是通过JavaScript发挥出来,而想真正大幅提高游戏性能的话,必须要充分利用GPU效能。

其实,早在2007年我还在Opera总部时,就对Sphinx引擎相关的渲染技术进行了验证。第一版用在Opera移动浏览器上面,Sphinx是第二版。由于渲染技术对浏览器性能提升明显,所以当时从Opera Mobile 9直接跳过Opera Mobile 10,发布了Opera Mobile 11。同期的浏览器在卷动页面时都会有马赛克一样的方格,然后才慢慢填清晰起来,而使用渲染技术的Opera Mobile 11没有马赛克,这可以说是第一次尝试硬件加速。所以,Sphinx的开发不是一蹴而就的,经历了长期的技术沉淀。

《程序员》:Sphinx的架构是怎样的?为何称为全硬件加速引擎?

罗志宇:开始时,我们认为JavaScript引擎会有很多问题,但后来发现似乎并没有那么多,更多的原因在于开发者自己没有做好优化。只要做好优化,帧率完全可以从10帧提升到35帧。但要想从35帧提升到70帧,就要靠提升渲染引擎来实现。

以前网页渲染引擎是偏文字渲染精确度的,经常会出现网格对齐这类问题。而游戏更多的是追求速度。因此,这两种渲染引擎的架构完全不同。在Sphinx中,整个浏览器分成前端和后端,前端主要执行页面、JavaScript、CSS,后端是正儿八经的图形渲染引擎。所以,Sphinx的结构很简单,就是一个标准的HTML5前端加上一个强大的游戏级别的图形引渲染擎。

说起来简单,做起来并不那么容易。因为之前的图形引擎并非是为了游戏而设计,而我们要做的Sphinx较之复杂得多,需要非常精确的调整。实际上,硬件加速GPU的演进只和游戏有关系,整个GPU在最开始发明时就是为了游戏,游戏和GPU之间是一种互相促进和演进的过程。所以游戏引擎用GPU用得最狠、最恰当。整个工艺里,游戏引擎和图形引擎是最好的。浏览器很晚才开使用GPU,所以无法做出游戏引擎的效果。我们所做的就是将游戏引擎所有的设计模式和工作方法都拿过来放到浏览器里面,做出真正意义上的全硬件加速游戏引擎Sphinx。

[1]  [2]  
关注通信世界网微信“cww-weixin”,赢TD手机!
来源:通信世界网   作 者:董世晓编 辑:于天娇
分享到:
       收藏   打印  论坛   推荐给朋友
关键字搜索:HTML5  
猜你还喜欢的内容
文章评论查看评论()
昵称:  验证码:
 
相关新闻
即时新闻
通信技术
最新方案

企业黄页
会议活动