UGUI學習 優化篇小知識點

2021-10-25 12:13:49 字數 1456 閱讀 3874

0.合批:減少cpu與gpu的互動次數

0.5batches每產生乙個draw call就會生成發乙個batches,裡邊存有網格和頂點資料,渲染相同物體時,直接呼叫batches裡的資訊。

1.每個ui物體都繼承了基類graphic,canvas通過canvas render來獲取其中的資料資訊。

2.該物體被標記為髒標記會進行重繪。

3.重繪流程,image舉例子,首先改變顏色,然後這個物體會被設定成髒標記,然後加入重建佇列,canvas 每幀都會執行will render canvas,然後perform update,然後canvas下的所有元素都會進行重繪。

4.合批規則深度depth,材質material,render order ,texture id.

5.看後渲染的的能不能合批,如果能深度值相等,不能,深度值加1.

6.合批過程,遍歷ui—>根據合批規則排序—>放到list中—>放到程式中,判斷能否合批—>給批號。

7.mask在設定快取會產生乙個drayewcall,還原快取會產生乙個drawcall。

8.mask子物體滿足條件可以合批,mask相互之間滿足條件可以合批(子物體這時也能夠合批)

9.canvas下動態的可以給他新增乙個canvas,減少重繪。

10.ui的顯隱 用canvasrender裡的cull元件,或是用canvasgroup

11.text不要開啟自適應bestfit

12.打斷合批 xy相同 z 不同, 旋轉角度不同

13圖集意義,同乙個圖集裡的textureid相同,更容易實現合批

14.舊圖集:windows->sprite 2d 通過設定tag

新圖集:直接建立sprite altas 有兩個模式 乙個是master,乙個是variant同常這兩個模式是用來製做解析度適配。

這兩個圖集在editor中開啟。

15.打包圖集注意圖集分類明確。

16.unity會將png(無失真壓縮有透明) 和 jpg(有失真壓縮無透明)的轉為 紋理格式這樣可以被gpu識別

17.安卓平台的壓縮模式

無透明通道 rgb etc

有透明通道 rgb etc2 這兩個都是二次壓縮。

單純的 rgb質量高

18.iso pvrtc 較差 astc較好

19.和透明通道分離為了減少資源。

20.image 和sprite的區別

前者網格時矩形的,頂點資訊少,但是overdraw多

後者網格自動構造的,頂點多,overdraw少 頂點多增加cpu消耗,overdraw多增加gpu消耗。

21.的引數 read write enable 控制檔案是否可讀寫

generate mip maps 打包邊糊 盡量這兩個別用

arm學習小知識點彙總

有什麼錯誤希望大家指出來,一起學習 1.詳細說明arm有哪幾種工作模式,並說明什麼情況下進入相應的工作模式執行。答 arm 一共有 7 種工作模式 user 使用者 mode number 0b10000 正常程式執行的模式 不能切換到其它模式 system 系統 mode number 0b111...

JAVA學習的小知識點

boolean型別和其他型別不能轉換 int x 5 double y 6 boolean b boolean x y 報錯 boolean b boolean x y int float double轉換 int i 9 system.out.println 1 0 i 7.0 輸出結果是 9.0...

python小知識點學習筆記

time模組的一些用法 coding utf 8 import time a time.time 返回時間戳 print ab time.ctime a 返回時間字串 print bc time.strptime b 時間字串轉為時間物件 print cd time.strftime y m d h...