Unity WebGL: WebAssembly 和相关功能的RoadMap
文章来源:
作者:<a href="http://taovr.com/home.php?mod=space&uid=5">vrman</a>
发布时间:2015年06月24日
点击数:
次
字号:小 大
来自Google,Microsoft和Mozilla的工程师 (负责Chrome, Edge和Firefox开发的) 宣布他们正在致力于研发一项名为WebAssembly 的跨越浏览器的技术。这是个令人激动的消息,因为这项技术将极大帮助提升Unity WebGL的体验。
据悉,WebAssembly 将定义一个全新而独立的标准,实际上它基于的是一种针对asm.js(Java Script子集)的bytecode 形式(而asm.js也被用于将Unity 代码配置到WebGL上)。相较于当前基于文本的表现形式,采用bytecode形式会极大程度上降低编译asm.js的代码大小。
这会提高下载代码的速度,更为重要的是,这也将极大提升理解和编译的速度,同时极大降低内存的使用。这项技术也将提升大型Java Script代码库的启动时间,并降低它们的内存需求,而这将解决当前开发者使用WebGL平台时遇到的普遍问题。
一旦上述技术在浏览器端开始应用,我们也会将Unity WebGL转换为支持WebAssembly bytecode 的形式。而对于那些不能原生支持该技术的浏览器,使用Java Script 也能有效地将bytecode 转化为基于文本的asm.js代码,而因为下载速度的提升,这样的转化也能提升大部分内容读取速度。
我们使用原型WebAssembly 在我们的AngryBots中的一个构建中进行了测试,并发现生成的Java Script 代码大小从19.0 MB的asm.js代码(可被压缩成4.1MB)减小成了6.3 MB的WebAssembly 代码(可被压缩成3.0 MB)。这意味着浏览器需要处理的数据量降低了3倍多,而下载的压缩代码大小也减少了1.4倍多。实际结果可能根据不同的应用项目而发生改变,但我们认为这仍将带来大家所期待的Unity WebGL的性能提升。
想获得更多关于WebAssembly 的信息,可以访问:https://github.com/WebAssembly/design/blob/master/FAQ.md
配合这个新功能的宣布,我们也想与大家分享当前我们在WebGL 上所做的投入,我们希望在明年实现的生态链上的变化,以及我们计划开展研发的领域,包括对构建资源大小的进一步提升,SIMD.js,Shared Array Buffers(会为JavaScript带来线程支持)和WebGL2.0。
欢迎登录Unity 官方论坛,浏览更多关于WebGL 发展计划的帖子:http://forum.unity3d.com/threads/webgl-roadmap.334408/
也敬请持续关注Unity 官方公众平台,我们将陆续为您带来精彩的技术干货分享。
明天即将迎来Unite Europe大会(阿姆斯特丹)的重大开幕,让我们共同期待更多精彩的内容呈现。
上一篇:Project Morpheus虚拟现实游戏汇总[ 06-24 ]
下一篇:《云中行走》VR虚拟现实体验 带你感受凌云之旅[ 06-24 ]