Unity strip engine code 遇到執行不能之問題與解決

遊戲發布在 WebGL 平台發現檔案還是太大,因此在 IL2CPP 的環境下,開啟 Strip engine code 編譯功能,嘗試看看能不能減少一些檔案容量。

但由於我們另外有載入 Scene stream assetbundles 的機制,因此遇到開啟 Strip engine code 後,無法正常執行的情形。

經過 Kelvin Lo 技術支援以及時間測試後,終究能夠正常執行,留下整件事情的經過、技術問題以及相關解法支援等等資料。

測試環境 Unity5.5.1f1,Windows 10,使用 Chrome 瀏覽器測試

附註:在我們測試的例子中,開啟 Strip engine code 並且成功正常執行,遊戲部分檔案大小變化從 7,262KB 下降到 6,306 KB,最終發布時並沒有套用這個做法…。

提示:Strip engine code 是一種在 IL2CPP 專案中裁減程式碼的機制,降低執行檔的檔案大小,概念是建置遊戲時,移除沒有用到的引擎類別以及實作程式碼,例如 2D 遊戲非物理的專案編譯成執行檔時,可以不用編譯 Physical 的程式碼到執行檔中,更多細節請參考文章末的 Reference。

时间: 2024-10-20 11:21:14

Unity strip engine code 遇到執行不能之問題與解決的相关文章

Unity strip engine code可能会使程序崩溃

最近正在做新大厅的红包推荐口令快速领金币入口拍卖行之类的功能,同事把我的捕鱼整合到他的项目中时出现了闪退的问题,经排查是因为strip engine code选项. Strip engine code在build setting的other setting中,勾选可以让代码进行压缩,自动不打包没有用到的代码,比如一个2DUI游戏没有用到Rigidbody等物理类的组件,但是勾选这个选项后可能会导致个别项目进行到有些地方直接崩溃,我们的捕鱼就不能勾选,我把这视为Unity自身的BUG,使用时还请慎

[Batch檔案筆記] 在UNC路徑中執行Batch檔

為了讓其他人可以免安裝又可以執行python程式所以我把python portable版本 winpython 放在samba的空間共享但是使用者如果要開 winpython cammand prompt .exe 打指令執行程式的話又太麻煩 所以寫了batch檔來直接執行我的python程式 因為是共享空間 所以使用 pushd%~dp0 是當前路徑接下來就是 python 再加上要執行檔案的路徑就可以了~ pushd %~dp0\python-2.7.10 python Project_Ev

執行shell script與subshell

兩種方法 喚起新shell再執行shell scripts 在目前shell執行shell scripts 喚起另一個shell來執行的scripts在scripts檔頭最前面前要加 #! /bin/sh 第一種方法是在shell script 文字檔前指出shell scripts解讀的程式在那(也就是 我們的shell)然後把文字檔的執行權限打開,照一般執行可執行檔方式執行或者叫 一個shell來解釋文字檔test.sh. $ test.sh $ /bin/sh test.sh $ ( .

Ubuntu-14.04. sh .py腳本双击無法執行问题的解决方法

Ubuntu-14.04中默认文件用gedit文本打开,而不是BT5里面的默认双击打开四个选择,如下图(这是配置完毕后的结果,就不换BT5系统了): 直接文本打开,虽然很安全,实际生产中肯定是不行的!而默认执行这更是不可取,所以,需要配置成如上图所示结果. 配置方法 1.首先使用sudo apt-get install dconf-editor命令安装dconf-editor,默认是没有安装的: 2.安装完成后直接运行dconf-editor命令呼出窗口,按org->gnome->nautil

【转】Visual Studio單元測試小應用-測執行時間

[转]Visual Studio單元測試小應用-測執行時間 Visual Studio的單元測試會記錄每一個測試的執行時間,如果有幾個Method要測效能,以前我會用Stopwatch,最近我都改用單元測試來測,快又簡單. Visual Studio的單元測試會記錄每一個測試的執行時間,如果有幾個Method要測效能,以前我會用Stopwatch,最近我都改用單元測試來測,快又簡單. 範例程式:有人說Catch不加Expection,因為不用匹配會比較快,我不相信,就來測測看. { for (i

[转]如何使用VS 2013發布一個可以在Windows XP中獨立運行的可執行文件

https://read01.com/Mg337.html (台/湾的论坛,需要f/q) 1. 閱讀此文章的同學先看看我的另外一篇文章: 現在,我們深入探討一下: <如何使用VS 2013發布一個可以在Windows XP中獨立運行的可執行文件>. 這個問題是比較常見且容易造成初學者困惑的,作為曾經撞了無數次南牆的初級代碼狗終於看到了自己能夠回答的問題,那麼就讓我來簡單闡述一下造成這個問題的簡單原理極其簡單解決方法,如有錯誤紕漏敬請指正. /*我們討論的是非託管的C++程序.*/ 為了方便說明

第八章 下半部和推後執行的工作

1. 中斷處理程序的侷限 以異步方式執行,並且有可能打斷其他重要代碼.所以爲了避免被打斷的代碼的停止時間過長,中斷處理程序應該執行得越快越好 如果當前有一個中斷處理程序在運行,在最好的情況下(如果IRQF_DISABLED沒有被設置),與該中斷同級的其他中斷會被屏蔽,最壞的情況下(設置IRQF_DISABLED),當前CPU上所有的其他中斷都會被屏蔽.縮短中斷被屏蔽的時間對系統的響應能力和性能都至關重要,所以中斷處理程序執行得越快越好 由於中斷處理程序往往需要對硬件進行操作,所以對它們通常有很強

PreparedStatement執行sql語句

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import org.junit.Test; import util.JdbcUtil; /** * PreparedStatement執行sql語句 * @author APPle * */ public class Demo1 { /** * 增加 */ @Test public void testInsert()

非靜態初始化塊與夠着函數的 執行順序

題目: 子類A繼承父類B,A a=new A();則父類B夠着函數.父類B靜態代碼塊.父類B非靜態代碼塊執行的先後順序是? 正確的執行順序是:杜磊B靜態代碼塊->子類A靜態代碼塊->父類B非靜態代碼塊->父類B構造函數->子類A非靜態代碼塊->子類A構造函數 也就是説非靜態初始化塊的執行順序要在構造函數之前. 1 class SuperClass{ 2 private static String str="Spuer Class Static Variable&qu