找回密碼
 注冊帳號

掃一掃,訪問微社區

沐冉楠 Unity發布WEBGL優化(一)

46
回復
6353
查看
打印 上一主題 下一主題
[ 復制鏈接 ]
排名
949
昨日變化

32

主題

223

帖子

2295

積分

Rank: 9Rank: 9Rank: 9

UID
114543
好友
20
蠻牛幣
10258
威望
0
注冊時間
2015-7-21
在線時間
784 小時
最后登錄
2020-11-30

專欄作家

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區。

您需要 登錄 才可以下載或查看,沒有帳號?注冊帳號

x
對Unity開發WEBGL印象就是開發方便打包慢輸出內容加載慢不支持移動端一堆堆問題.但是最麻煩的還是加載慢真的慢.
所以通過對各種h5開發對比準備放棄Unity發布WEBGL的做法.但是隨著unity2020.1發布這個現狀稍稍出現點轉機...

最近測試了Unity Tinylaya和Unity webgl發現如果優化做的好unity webgl 雖然比不上tiny和laya但是可以把他們之間的差距縮小不少
測試同一款場景冷加載(本地服務器不考慮網絡影響)
1.unity tiny   1.2秒

2.laya            1.69秒


3.未優化的webgl(unity2018開發的)   5.5秒

4.優化的WEBGL(unity2020.1開發)     1.98秒


看到這個數據我燃起了希望準備脫坑脫坑再入坑.

先回答幾個小問題介紹:

1.為什么Unity Tiny那么快?
因為unity tiny用DOTS(多線程式數據導向型技術堆棧)開發DOTS=ECS+job System+Burst

實體組件系統(ECS) :因為unity3d各種組件都存在可能你項目不需要那么多組件但是打包是就都給加進去了ecs解決的就是我用什么組件加載什么組件.


任務系統(Job System):unity主要任務都是在主線程運行這個就是讓你不知不覺中把unity變成多線程運行

Burst Compiler編譯器:unity之前用mono來進行編譯實現跨平臺后來升級
IL2CPP速度有進一步提升還是比不過c++這個這個編譯器翻譯為大爆炸是使用LLVM從IL/.NET字節碼轉換為高度優化的本機代碼據說已經可以超越c++的速度了.

所以dots是未來的方向但是unity已上市有了錢就放棄夢想了?說好2020年發布正式dots這也沒消息了.所以現在可以學習但是使用起來就沒那么方便了.有興趣自己研究吧.


2.laya為什么也可以那么快?
laya是國產的一款引擎主要就是因為unity webgl不作為所以才有了laya他使用asts或者js開發在瀏覽器上不用轉換腳本了場景可以用unity的并且也用上了實體組件系統可以控制加載需要的組件這是一款不錯的工具主要用來開發各種小游戲.搞了三天開發了一個場景進行與其他對比測試.


3.Unity webgl為什么那么慢?
1.沒有實體組件系統把引擎內的組件一蜂窩打包管你用不用2.之前編碼可能還是用mono這編譯也很慢

3.資源優化不完全加載數據很多還有可能是很多不用的數據.

4.優化后為什么unitywebgl也可以提升那么大?
1.unity2020.1更改了構建加載器可以根據項目進行組件剝離和代碼優化

2.全面使用IL2CPP來編譯提升點速度

3.全面使用WebAssembly

4.自己進行各種盡可能的優化來提高加載速度

最后的成品會比之前的webgl有很大提升



開始進行項目優化

1.下載Unity2020.1和更高的版本用必須高于2020.1的版本開發

2.設置WEBGL PLayer Setting



1.如果沒有必須后臺運行的必要就關閉后臺運行P->Resolution and Presentation ->Run In BackGround

2.修改一個合適的加載頁面(盡量小加載頁能讓人時間感降低)因為加載的進度條是與數據加載有關與加載到引擎時間可能不對應會感覺進度條不準.

3.如果是專業版去掉splash screen關閉啟動畫面會有一點點提升



4.Other Settings->Auto Graphics API根據自己需要選擇webgl1.0webgl2.0或者都選畢竟還有edge瀏覽器只支持webgl1.0

5.Other Settings->Lightmap Encoding 選擇Low光照貼圖選低畢竟webgl了犧牲質量換速度


6.Other Settings->Api Compiler Configuration 選擇.Net Standard 2.0



7.Other Settings->Strip Engine Code 勾選上這是剝離引擎代碼把Managed stripping level>等級設成高這能盡可能剝離不使用的引擎代碼.

8.Other Settings-> Optimize mesh Data勾選上這是優化網格數據


9.Other Settings-> Texture MipMap Stripping 根據自己選擇勾選這個是貼圖邊緣模糊進行抗鋸齒


10.Other Settings-> Stack Trace 全部選擇None 堆棧跟蹤全部不需要.


11.Publishing Settings ->Enable Excptions 選擇None啟用異常檢測發布時間不需要


12.Publishing Settings ->Compression Format 是否壓縮跟自己需要選擇壓縮肯定需要解壓如果網絡不好選擇壓縮.壓縮盡量選擇Gzip兼容好本地加載可以選擇不壓縮


13.Publishing Settings ->Data Caching 數據緩存這個一定要勾選二次加載提速度能不少.














回復

使用道具 舉報

8常駐蠻牛
6257/10000
排名
238
昨日變化

1

主題

301

帖子

6257

積分

Rank: 8Rank: 8

UID
69456
好友
7
蠻牛幣
57
威望
0
注冊時間
2015-1-19
在線時間
3919 小時
最后登錄
2020-11-30
QQ
沙發
2020-10-5 17:09:41 只看該作者
謝謝分享!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回復

使用道具 舉報

7日久生情
2161/5000
排名
1191
昨日變化

1

主題

635

帖子

2161

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
87577
好友
0
蠻牛幣
10829
威望
0
注冊時間
2015-3-31
在線時間
547 小時
最后登錄
2020-11-30
板凳
2020-10-6 14:48:37 只看該作者
too good too strong
回復 支持 反對

使用道具 舉報

2

主題

11

帖子

60

積分

Rank: 2Rank: 2

UID
317550
好友
1
蠻牛幣
274
威望
0
注冊時間
2019-3-25
在線時間
47 小時
最后登錄
2020-11-30
地板
2020-10-7 08:34:30 只看該作者
謝謝學習了,也不知道為什么,我的生成ok,就是在網頁打不開{:97:}
生成的時候也沒有報錯,打開狀態就是一張加載ing
回復 支持 反對

使用道具 舉報

3偶爾光臨
181/300

0

主題

5

帖子

181

積分

Rank: 3Rank: 3Rank: 3

UID
351393
好友
0
蠻牛幣
35
威望
0
注冊時間
2020-8-12
在線時間
176 小時
最后登錄
2020-11-24
5#
2020-10-8 09:38:40 只看該作者
感謝分享~~~
回復

使用道具 舉報

6蠻牛粉絲
1428/1500
排名
3329
昨日變化

4

主題

226

帖子

1428

積分

Rank: 6Rank: 6Rank: 6

UID
62741
好友
1
蠻牛幣
1400
威望
0
注冊時間
2014-12-21
在線時間
754 小時
最后登錄
2020-11-30
6#
2020-10-8 15:15:29 只看該作者
謝謝分享~~~~~~~~~~~~~~~~~~~~
回復

使用道具 舉報

6蠻牛粉絲
1436/1500
排名
11820
昨日變化

4

主題

132

帖子

1436

積分

Rank: 6Rank: 6Rank: 6

UID
244131
好友
0
蠻牛幣
1573
威望
0
注冊時間
2017-9-17
在線時間
1218 小時
最后登錄
2020-11-27
7#
2020-10-9 10:41:42 只看該作者
謝謝分享
回復

使用道具 舉報

6蠻牛粉絲
1436/1500
排名
11820
昨日變化

4

主題

132

帖子

1436

積分

Rank: 6Rank: 6Rank: 6

UID
244131
好友
0
蠻牛幣
1573
威望
0
注冊時間
2017-9-17
在線時間
1218 小時
最后登錄
2020-11-27
8#
2020-10-9 11:17:10 只看該作者
shenty 發表于 2020-10-7 08:34
謝謝學習了,也不知道為什么,我的生成ok,就是在網頁打不開
生成的時候也沒有報錯,打開狀態 ...

同問,請問你找到問題在哪了嗎,打包生成都沒問題,就是網頁上一直是加載的,打不開
回復 支持 反對

使用道具 舉報

排名
949
昨日變化

32

主題

223

帖子

2295

積分

Rank: 9Rank: 9Rank: 9

UID
114543
好友
20
蠻牛幣
10258
威望
0
注冊時間
2015-7-21
在線時間
784 小時
最后登錄
2020-11-30

專欄作家

9#
樓主 2020-10-9 11:38:00 只看該作者
Nirvana0515 發表于 2020-10-9 11:17
同問,請問你找到問題在哪了嗎,打包生成都沒問題,就是網頁上一直是加載的,打不開 ...

直接打開使用edge使用其他瀏覽器請部到服務器或者本地服務器加載
回復 支持 反對

使用道具 舉報

6蠻牛粉絲
1436/1500
排名
11820
昨日變化

4

主題

132

帖子

1436

積分

Rank: 6Rank: 6Rank: 6

UID
244131
好友
0
蠻牛幣
1573
威望
0
注冊時間
2017-9-17
在線時間
1218 小時
最后登錄
2020-11-27
10#
2020-10-9 12:04:11 只看該作者
沐冉楠 發表于 2020-10-9 11:38
直接打開使用edge使用其他瀏覽器請部到服務器或者本地服務器加載

大佬,請問你用的unity版本是哪個
回復 支持 反對

使用道具 舉報

排名
949
昨日變化

32

主題

223

帖子

2295

積分

Rank: 9Rank: 9Rank: 9

UID
114543
好友
20
蠻牛幣
10258
威望
0
注冊時間
2015-7-21
在線時間
784 小時
最后登錄
2020-11-30

專欄作家

11#
樓主 2020-10-9 14:42:12 只看該作者
Nirvana0515 發表于 2020-10-9 12:04
大佬,請問你用的unity版本是哪個

2020.1.0f1
回復 支持 反對

使用道具 舉報

6蠻牛粉絲
1436/1500
排名
11820
昨日變化

4

主題

132

帖子

1436

積分

Rank: 6Rank: 6Rank: 6

UID
244131
好友
0
蠻牛幣
1573
威望
0
注冊時間
2017-9-17
在線時間
1218 小時
最后登錄
2020-11-27
12#
2020-10-9 14:49:58 只看該作者

感謝大佬,我試試2020.1.0的,剛剛用的1.7的版本,包可以打出,但是web打開不了,用的Edge 和火狐,不是瀏覽器的原因,其他的webgl項目都可以打開的
回復 支持 反對

使用道具 舉報

3偶爾光臨
167/300
排名
17382
昨日變化

1

主題

34

帖子

167

積分

Rank: 3Rank: 3Rank: 3

UID
307830
好友
0
蠻牛幣
215
威望
0
注冊時間
2018-12-11
在線時間
94 小時
最后登錄
2020-11-28
13#
2020-10-9 15:37:06 只看該作者
改天試試2020
回復

使用道具 舉報

3偶爾光臨
167/300
排名
17382
昨日變化

1

主題

34

帖子

167

積分

Rank: 3Rank: 3Rank: 3

UID
307830
好友
0
蠻牛幣
215
威望
0
注冊時間
2018-12-11
在線時間
94 小時
最后登錄
2020-11-28
14#
2020-10-9 15:38:51 只看該作者
改天試試2020
回復

使用道具 舉報

6蠻牛粉絲
1436/1500
排名
11820
昨日變化

4

主題

132

帖子

1436

積分

Rank: 6Rank: 6Rank: 6

UID
244131
好友
0
蠻牛幣
1573
威望
0
注冊時間
2017-9-17
在線時間
1218 小時
最后登錄
2020-11-27
15#
2020-10-9 15:44:29 只看該作者
大佬,試了一下 2020.1.0f1版本 原始場景什么設置都沒修改打包,打包成功了但是web上還是沒法打開,一直是加載的畫面

img.png (27.98 KB, 下載次數: 5)

img.png
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊帳號

本版積分規則

内蒙古麻将app 超级大乐透高手论坛 棋牌赢钱游戏50元提现 新彩票走势网 好运彩快三是合法的吗 上海11选五开奖走势图 一定牛 中原河北麻将下载官网 七星彩出过7个同号 3d快乐10分钟开奖结果 尼克斯vs篮网 宁夏滑水麻将群 河北省快3开奖走势图 四人麻将真人 最受欢迎的麻将手游 金蟾捕鱼手机版单机 山西扣点点麻将决窍心得 白山在线棋牌