瀏覽器支持:
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";
}