>本文探讨了ASM.JS和WebGL创建高性能Web应用程序的力量,重点是与Unity和Unility和虚幻引擎集成。 它解释了这些技术如何允许开发人员在浏览器中利用C和C代码,并绕过传统的基于插件的方法的局限性。
键优点:
>文章详细介绍了Unity的IL2CPP(提前编译器和运行时库)如何将.NET中间语言(IL)转换为C,然后将其编译为ASM.JS并与WebGl集成。 由于JavaScript的单线阅读性质和缺乏完整的多线程支持,该过程虽然提供了显着的性能增长,但由于JavaScript的单线阅读性质而有局限性。 但是,诸如Simd.js和WebAssembly之类的持续发展旨在解决这些缺点。
态>主要浏览器支持ASM.JS和WebGL时,支持级别会有所不同。 文章指出,与Chrome和Safari相比,Firefox在ASM.JS基准测试中的表现通常都出色。 WebGL中绑定的GPU任务通常与本机代码相当,在某些情况下甚至超过它。 但是,多线程任务仍然显示出性能差距。
挑战和注意事项:
>本文重点介绍了几个挑战:基于Web的应用程序的大小(可以通过资产流(Asset Streaming)等技术来减轻),对离线功能的需求(可通过诸如IndexEdDB等技术解决)以及与完整的WebGL的局限性相比OpenGL规范。
案例研究:AAAAA!由Owlchemy Labs
详细介绍了使用ASM.JS移植到WebGL的Unity游戏的成功示例,与本机版本相比,文件大小显着减少。 该案例研究强调了该技术在游戏开发中的潜力。
虚幻的引擎和替代方案:
> >本文还提到了虚幻引擎4的WebGL支持,并提供了指向更多资源的链接。 它还讨论了诸如PlayCanvas之类的替代WebGL框架以及使用歧管之类的工具来简化跨平台部署。 结论:
以上是ASM.JS和WebGL统一和虚幻引擎的详细内容。更多信息请关注PHP中文网其他相关文章!