原创 Unity性能優化——託管堆/GC

瞭解託管堆 許多 Unity 開發者面臨的另一個常見問題是託管堆的意外擴展。在 Unity 中,託管堆的擴展比收縮容易得多。此外,Unity 的垃圾收集策略往往會使內存碎片化,因此可能阻止大型堆的收縮。 託管堆的工作原理及其擴展原因 “託管

原创 Unity性能優化——資源優化(一)

實際項目中發現的許多問題都是源自無心之過:臨時的“測試”更改和疲憊不堪的開發人員的誤點擊可能會暗地裏添加性能不良的資源或更改現有資源的導入設置。 對於任何大規模的項目,最好是將防止人爲錯誤作爲第一道防線。編寫一小段代碼來禁止將 4K 未壓縮

原创 (二)ET8多線程多進程框架設計課程介紹

ET7已經滿足90%的項目需求,沒必要追新,除非客戶端邏輯非常耗cpu,需要網絡0GC,需要多線程支持(比如幀同步需要邏輯層單獨放一個線程),服務端內部消息量過大或者需要減少總內存佔用,才考慮使用ET8。ET8的課程明天開始錄,主要講解ET

原创 Jenkins設置定時觸發器執行任務

  1. 選中任務,選擇配置/構建觸發器,選擇定時構建     2. 填寫定時器參數,格式說明如下,共五個參數,參數之間空格隔開,不需要填的直接*號即可。  此處d定時任務的格式遵循 cron 的語法(可以與 cron 的語法有輕微的差異

原创 ET8開源遊戲:《英雄傳說》之(零)總目錄篇

《英雄傳說》是一個基於ET8.1的雙端C#(Client-Unity3D, Server: .Net8)開發的在線聯網多人競技遊戲。 當前文章主要做此Demo的技術分解,主要是戰鬥系統跟狀態同步的技術分享,大夥有想法的歡迎評論區討論,後續會

原创 ET8.1(一)簡介

此係列文章逐個內容講解ET8.1的新特性。 ET8.1 發佈,帶來以下新特性: 1. 多線程多進程架構,架構更加靈活強大,多線程設計詳細內容請看多線程設計課程   2. 抽象出纖程(Fiber)的概念,類似erlang的進程,非常輕鬆的創建

原创 Unity 2022.3.20f1新功能,異步實例化預製體Object.InstantiateAsync

今天查看Unity 2022.3.20f1更新日誌,發現新增了個異步實例化的功能,這個功能解決了Unity歷史上實例化預製體卡頓的痛點,簡直不要太爽。 具體的API文檔請點擊跳轉。 做了個簡單的實例化測試,實例化500*500個Cube,

原创 突然連不上Github或者連接超時的解決辦法

問題描述當進行倉庫pull或者push時,報錯如下(連接失敗/被拒絕/超時等): Failed to connect to github.com port 443: Connection refused 嘗試過關閉代理重開,重裝git,關閉

原创 UDP與KCP詳解

UDP 以及TCP是什麼。我們知道傳輸層中有TCP和UDP兩種網絡協議,這節就講UDP是什麼。 Internet協議集支持一個無連接的傳輸協議,該協議稱爲用戶數據報協議(UDP,User Datagram Protocol)。UDP爲應用

原创 .editorConfig常用設置

# http://editorconfig.org root = true [*] # 表示所有文件適用charset = utf-8 # 設置文件字符集爲 utf-8indent_style = space # 縮進風格(tab | sp

原创 淺談ET框架--ECS設計核心(一)

ET框架的ECS設計核心可以總結爲一句話,那就是: 繼承轉組件,多態轉分發 OOP設計裏的繼承更換爲組件Component模式,多態轉成分發模式。 框架代碼裏頭的案例: 數值組件掛載Entity上。 不同數值行爲通過NumericWatch

原创 Visual Studio快捷鍵總覽,推薦VS+Resharper實現高效開發

VS2022之後,其實還挺好用的,但個人還是習慣VS+Resharper的強強組合,尤其是Ctrl+N快捷鍵的全局搜,比VS自帶的Ctrl+T好用太多了,Ctrl+B還能直接查看反編譯之後的dll的方法。下面是常用VS快捷鍵,收藏記錄下。

原创 ET8開發微信小遊戲之部署雲服務器Nginx代理

最近用ET8搞微信小遊戲測試,部署到雲服務器,手機上運行,必須要用https備案過得域名,客戶端使用websocket創建必須要wss開頭,服務端部分通過Nginx進行https通信之後轉發到雲服務器的內網ET服,表格配置部分如下,當前我使

原创 .net Assembly.Load重複加載程序集造成執行異常

最近ET做熱更重載dll的時候,返回登陸會重新檢測新的dll,首次登錄之前已經Assembly.Load()過一次dll,第二次返回登陸再次load dll到內存中,Invoke執行方法的時候,異常了,有些方法執行了,有些未執行,於是查資料

原创 ET介紹——Actor Location

Actor Location Actor模型只需要知道對方的InstanceId就能發送消息,十分方便,但是有時候我們可能無法知道對方的InstanceId,或者是一個Actor的InstanceId會發生變化。這種場景很常見,比如:很多遊