引言-引领下一代web游戏的巅潮-WebAssembly
Posted 大前端工程师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引言-引领下一代web游戏的巅潮-WebAssembly相关的知识,希望对你有一定的参考价值。
首发于知乎专栏:大前端工程师,大家可以查看【阅读原文】。
在过去几年中,Mozilla(社区,因创作火狐浏览器广为人知)与其他浏览器和行业密切合作,致力于推动网络游戏的发展。 使开发人员能够在Web上部署原生代码,最开始是通过asm.js,接着通过其继承者-WebAssembly。 现在WebAssembly能在Firefox和Chrome浏览器中使用,不久也能推广到Edge和WebKit中。它可以在浏览器中实现近乎原生的代码性能,这对游戏开发非常有用,并且也显示了WebVR应用程序的优势。 由于避免了JIT编译和垃圾回收机制,WebAssembly代码能够提供更加理想的性能。 它广泛的支持所有主流浏览器引擎,并且非常接近原生速度,使得在网络上构建高性能的无插件游戏成为可能。
Kongregate公司联合创始人兼首席执行官Emily Greer表示:“2017年,Kongregate见证了将近60%的新标题使用html5代替flash。 开发人员能够利用HTML5及其工具的优势,而消费者无需第三方插件即可享受游戏。 随着HTML5的不断发展,开发人员可以开发出更先进的游戏,使http://Kongregate.com上的数百万游戏玩家和蓬勃发展的网络游戏行业受益匪浅。”
Kongregate的数据显示,上传的游戏平均约有55%是HTML5游戏。
同时我们也可以看到,这些都是高品质游戏,超过60%的HTML5游戏获得了“好评”(4分以上)。
尽管发展趋势很积极,但仍然存在改善的空间。网络是一个不断发展的平台,开发人员总是在寻找更好的性能。当务之急的需求是希望网络上支持多线程。 SharedArrayBuffer是多线程所需的构建模块,可以在多个Web工作器之间同时共享内存。Firefox打算在Firefox 55中发布SharedArrayBuffer支持
另一个常见的要求是SIMD支持。 SIMD是单指令多数据的简称。这是CPU对数学指令进行并行处理的一种方式,可以为诸如3D渲染和物理学等数学量大的需求提供显着的性能改进。
WebAssembly社区组现在专注于将SIMD和多线程的硬件并行性作为WebAssembly的下一个主要进化步骤。基于第一版WebAssembly的发布势头和持续的协作,并准备在2018年初在Firefox中发布。
原文链接
WebAssembly demo
接下来的一些文化文章将会着重分析WebAssembly的性能及如何使用。
回顾其他文章:
还有更多文章,大家可以关注大前端工程师:
以上是关于引言-引领下一代web游戏的巅潮-WebAssembly的主要内容,如果未能解决你的问题,请参考以下文章