Unity Resource資料夾的使用
Resource資料夾,用於在執行時載入資源。使用Resource.Load<type>("path")的方式載入,簡單方便。
但是儘量不要使用它,
1:它使記憶體管理變得困難;
2:不恰當的使用Resource資料夾,會增加程式啟動時間和打包時間;
3:降低了工程中的內容轉換到特定平臺的能力,使內容更新困難
適當的使用它:
1:實現性或者設計原型,也就是demo級別的 可以使用,因為它方便;如果一個工程移動到另一個完整的工程,那就不要使用Resource了;
2:處理一些瑣碎細小的東西可以使用 如下情況
* 不會佔用太多記憶體
* 資源會貫穿程式的整個生命週期
* 資源不會經常更新修改,打補丁
* 資源不會因為平臺或者裝置不同而不同
情況2包含比如一個含有單例模式的MoneBehaviours的perfer,或者包含第三方外掛的配置表,比如facebook ID、
序列化Resource
在Resource資料夾下的檔案,在打包的時候會被整合到一個檔案中,裡面包含了後設資料和索引資訊,跟AssetBundle很像。索引資訊包含了序列化的查詢樹(用來將名字分解成適當的GUID和本地ID),也用來索引這個Object。
查詢樹的資料結構是一個平衡樹,它的效率是O(NLog(N)),N是這個Object在樹中的索引。這種級別的增長,導致Resouce中檔案越多,索引時間越長。
這個過程在程式啟動時進行的,初始化Resouce下10000個資源,在較低端配置的手機上要耗費許多s,儘管這些資源在第一個場景中很多不會用到
原文:https://unity3d.com/cn/learn/tutorials/temas/best-practices/resources-folder?_ga=2.261925572.890915518.1497582721-1009087795.1497582721
相關文章
- idea專案的resource目錄新建資料夾Idea
- Unity中專屬資料夾介紹Unity
- Unity資產,特殊資料夾以及重要路徑Unity
- Unity Assets目錄下的特殊資料夾名稱Unity
- Unity3D - 如何引入包到指定的資料夾Unity3D
- Unity 編輯器中獲取選中的資料夾、檔案路徑Unity
- 不同資料夾使用不同的Git使用者Git
- 使用C#選擇資料夾、開啟資料夾、選擇檔案C#
- NAS加密資料夾建立和使用教程加密
- SharpZipLib解壓資料夾 包含空資料夾
- DeerOJ的前端框架介紹-libs資料夾和controller資料夾前端框架Controller
- node_modules 資料夾下 .bin 隱藏資料夾的作用
- temp資料夾可以刪除嗎 temp資料夾幹啥的
- Unity學習筆記--資料持久化之PlayerPrefs的使用Unity筆記持久化
- NAS上如何建立和使用加密資料夾?加密
- 使用libzip壓縮檔案和資料夾
- 使用tar打包,如何排除某些資料夾呢?
- .git資料夾Git
- 資料夾操作
- linux備份資料夾的命令是什麼?如何使用?Linux
- Android中asset資料夾和raw資料夾區別Android
- Windows中的特殊資料夾Windows
- python 如何刪除資料夾下的所有檔案和子資料夾?Python
- 資料夾裡的檔案怎麼設定跟外資料夾同名
- Win10的appdata資料夾在哪裡 電腦appdata資料夾在哪Win10APP
- 資料夾能直接設定密碼嗎 資料夾加密的常用方法密碼加密
- 批量新建資料夾並命名的辦法 如何批量新建很多資料夾
- 批次新建資料夾並命名的辦法 如何批次新建很多資料夾
- 把多個資料夾中的檔案批量放到一個資料夾
- Qt 選擇資料夾、建立資料夾以及建立檔案QT
- win10使用者資料夾重新命名的方法_win10系統使用者資料夾怎麼改名字Win10
- DeerOJ的前端框架介紹-Web資料夾和App資料夾(route.php)前端框架WebAPPPHP
- 資料夾怎麼拖到微信 微信傳送資料夾的辦法
- Linux中刪除資料夾使用什麼命令?Linux
- 【Unity 3D遊戲開發】在Unity使用NoSQL資料庫方法介紹Unity3D遊戲開發SQL資料庫
- 隱藏的資料夾怎麼找出來 恢復隱藏資料夾的辦法
- 使用DLL注入繞過“受控制的資料夾訪問”功能
- mac下如何使用Sed批量替換資料夾下的字串Mac字串
- Windows10系統刪除最近使用資料夾的方法Windows