0.官方的注意事項 1.不要用nullable 2.盡量不要用foreach,原理限制,有gc。一般嵌套task或者foreach里多次await容易出現代碼執行不到的情況 3.不要用struct,struct在ILRuntime里,如果作為成員變量,性能比class更低。struct ...
前言 我們有一個用Unity引擎開發了二十個月的mmo arpg手游項目,在安卓已經測試三輪了,出於IOS的熱的考慮且結合我們的情況:全部代碼都是純C 開發非Lua,所以計划使用ILRuntime熱更,這里記錄我們把這個項目用上ILRuntime熱更的過程,包括遇到的困難和如何解決的。其它類型項目或其它項目架構的重點問題可能不一樣 項目環境:ILRuntime版本 . . , Unity版本: . ...
2020-09-10 12:39 6 2189 推薦指數:
0.官方的注意事項 1.不要用nullable 2.盡量不要用foreach,原理限制,有gc。一般嵌套task或者foreach里多次await容易出現代碼執行不到的情況 3.不要用struct,struct在ILRuntime里,如果作為成員變量,性能比class更低。struct ...
=distribute.pc_relevant.none-task 在新的項目中,使用到了ILRuntime的熱更新方式,不同於XLua等 ...
ILRuntime熱更方案坑點 在熱更工程中: 1.AddComponent需要限定好類型,不能用Type類型,會報錯 2.GetComponent無法獲取基類組件類型,無法找到時,需要在MonoBehaviorAdapter中添加遍歷獲取基類邏輯3.Hotfix調用Unity中帶參數的委托 ...
如果ILRuntime使用時性能有問題,需要確認以下幾點: 1.發包前是否做了自動分析CLR綁定 2.是否注冊了值類型綁定 3.熱更DLL是否為release模式編譯 4.發包前是否關閉了Development build 5.編輯器下是否 ...
https://github.com/meta-42/ILRuntime 教程 https://ourpalm.github.io/ILRuntime/public/v1/guide/index.html ...
最近項目中用到個Linq的排序,由於沒有注冊適配器,導致不能用,其實ILRT作者已經做得很好,報錯代碼中已經做好對應的提示,只需要直接把提示的注冊代碼放到ILHelper.cs中注冊適配器的位置就好,以下是對應代碼的應用熱更中的表格類 // 定義類 ...
版權聲明:本文為原創文章,轉載請聲明https://www.cnblogs.com/unityExplorer/p/13540784.html 最近幾年,隨着游戲研發質量越來越高,游戲包體大小也是增大不少,熱更新功能就越發顯的重要。 兩、三年前曾用過xlua作為熱更方式,xlua的熱補丁方式 ...
ILRuntime基本原理# ILRuntime借助Mono.Cecil庫來讀取DLL的PE信息,以及當中類型的所有信息,最終得到方法的IL匯編碼,然后通過內置的IL解譯執行虛擬機來執行DLL中的代碼。IL解釋器代碼在ILIntepreter.cs,通過Opcode來逐語句執行機器碼,解釋器 ...