浏览器支持:
Mozilla Firefox 42,Google Chrome 46,Apple Safari 9.0,MS Internet Explorer 11,MS Edge 13
Safari不支持全屏
Chrome需要大量内存解析js代码,可能导致内存不足
IE11号称支持,但是太慢,导致webgl基本不可用
减小发布包的大小
尝试发布空场景,发布文件的全部大小接近6M。。太大了。其中js代码文件xxx.jsgz4.6M。。
优化png文件之类手段并不能减少发布包大小,因为unity最后实际使用的是自己的内部格式。
删除没用的资源也不行
使用Asset Bundle,而不是Resource,可以减少首次下载包的大小。这些其实web player时代就已经是这样了。
打包Asset Bundle的时候使用LZ4压缩格式。webgl不支持多线程,lzma压缩的bundle会导致主线程解压缩时的卡顿。
使用纹理压缩(DXT(Desktop platforms) or PVRTC),在webgl中使用Crunch压缩选项。压缩网格(mesh)和动画(Animation)
不要引用System.dll 和 System.Xml.dll,尽量少用第三方dll
尽量只用.Net 2.0 subset API
webgl对unity音频API有大量限制
在大部分浏览器中,webgl后台运行时的更新频率会下降到每秒一次
wengl中,gc(垃圾回收)只能在每帧结束后进行,因此下面的代码会导致内存耗尽:
string hugeString = "";
for (int i = 0; i < 100000; i++)
{
hugeString += "foo";
}