原创 Unity 內存優化之理解託管堆和本機堆

https://docs.unity3d.com/Manual/BestPracticeUnderstandingPerformanceInUnity4-1.html https://www.dazhuanlan.com/2019/09/

原创 Unity內存優化之瞭解unity自動內存管理

一、認識Unity的自動內存管理 Unity Manual:理解自動內存管理 unity應用佔用的內存可以分爲三類,託管堆、本機堆、引擎及代碼自身佔用的內存;本篇介紹的自動內存管理即託管堆的管理。 Unity爲我們做了一些自動的內存管理操

原创 Unity內存優化之內存泄漏、內存冗餘

一、什麼是內存泄漏 內存泄漏的廣義定義:在計算機科學中,由於疏忽或錯誤造成程序未能釋放已經不再使用的內存,內存泄漏並非指內存在物理上的消失,而是應用程序分配某段內存後,由於設計錯誤,導致在釋放該段內存之前就失去了對該段內存的控制,從而造成

原创 認識 Unity C# Job System

一、認識Job System Unity C# Job System是用於寫多線程代碼的,使用多線程能夠帶來高性能,提高code generation的質量,減少移動設備的耗電量等; 二、什麼是多線程 在單線程計算機系統中,一次只能同時執

原创 CPU基礎:解釋了多個CPU,內核和超線程

    您計算機中的中央處理器(CPU)基本上執行計算工作-運行程序。但是現代CPU提供了諸如多核和超線程之類的功能。有些PC甚至使用多個CPU。我們在這裏幫助您解決所有問題。 相關文章 爲什麼不能使用CPU時鐘速度來比較計算機性能 比

原创 操作系統中的主存儲器&高速緩存

瞭解操作系統的存儲管理 存儲管理是操作系統的重要組成部分,它負責管理計算機系統中的主存儲器。 任何程序(代碼)及數據在執行前必須進入主存空間,因此存儲管理的優劣直接影響系統的性能,主存儲空間一般分爲兩部分:一部分是系統區,存放操作系統的核

原创 Unity編輯器小提示和小技巧

概述 這篇文章主要是總結了Unity編輯器使用的一些技巧,通過掌握這些技巧來提高開發效率; 其中一部分編輯器功能是在2019版本以後被引入的。 主要參考來自:https://unity.cn/projects/unity-tips 快捷鍵

原创 操作系統的結構設計

操作系統的結構設計 操作系統的結構設計有兩層含義,一是研究操作系統的整體結構;二是研究操作系統程序的局部結構,包括數據結構和控制結構。 操作系統的構件 把組成操作系統程序的基本單位稱作操作系統的構件。構成操作系統的基本單位除了內核之外,主

原创 Unity IL代碼注入(基礎)

一、什麼是代碼注入 C#程序編譯生成中間代碼IL,爲了實現問題修復和一些通用功能擴展,通常所使用的就是代碼注入。 xlua的熱修復方案即採用了代碼注入的方式,沒有污染C#代碼,也不需要提前埋點,十分方便。 再比如這篇文章講述了使用代碼注入

原创 Lua table拷貝函數實現

一、Lua table拷貝功能分析 在lua的table中,並沒有像其它語言那樣爲類提供拷貝函數,所以需要開發者額外實現; 沒有統一的實現的主要原因,在於table的複雜性,table可以包含各種類型的值,以及包含元表等,統一的實現並不能

原创 Unity Shader 變體處理與預加載流程

一、什麼是Shader變體,它是怎麼出現的 當我們寫完一個shader以後,unity需要加載和編譯,這個過程由着色器的構建管線來完成,它的輸入是着色器,而它的輸出就是今天的主角---着色器變體;每一個着色器進入構建管線後會被解析,然後提

原创 操作系統提供的服務

操作系統提供的基本服務 操作系統要負責程序的執行,也要負責編程任務等,所以它需要有以下基礎服務: 創建程序,提供各種工具和服務,包括編輯程序和調試程序,幫助用戶編程並生成源程序 執行程序,將用戶程序和數據裝入主存,爲其運行做好準備工

原创 Unity Shader之模板測試 原理與應用

一、認識模板測試 模板測試是在逐片元測試幾個階段中的第一個階段,它是在深度測試和融混之前的;在平時,我們可能會接觸深度測試比較多一點,所以接下來在認識模板測試的時候,經常會與深度測試做比較,以輔助大家來理解模板測試; 首先,想要進行模板測

原创 操作系統之多道程序設計

發展歷程 早期的批處理系統中,I/O設備和CPU仍然是串行工作的,CPU時間浪費巨大,浪費了CPU的處理能力。操作系統中只有一個可執行程序,一個任務執行時,必須CPU執行完,I/O才能執行,兩者不可並行。 隨着CPU速度迅速提高而I/O設

原创 Unity統計文件夾下某種類型的資源數量

功能:統計文件夾下某類型所有資源的數量,包括子文件夾; 用法:指定文件夾路徑,並通過輸入文件的後綴名代表文件類型(不需要加.符號) using UnityEngine; using UnityEditor; using System.