UIGrid UITable 效能優化

2022-01-31 21:49:40 字數 1920 閱讀 8781

排行榜,郵件,關卡等資料列表項,一般在玩家開啟面板時,都會重新重新整理一次資料,那是否有必要每次都生成列表項呢?

假如每次列表的內容有變動就instance 新的gameobject,這是沒有必要的浪費。本文想做的就是避免頻繁生成新的gameobject。

迴圈利用uigrid下已有child,改變child的資料(不同child渲染不同的資料)。需要生成時就生成,不需要生成則根據情況顯示隱藏

流程圖如下所示

1、建立工具類:動態生成child ,隱藏多餘的child

2、工具類使用方法:

傳入template obj(prefab)、data ,resizegrid

設定每乙個child的內容

public

class

xuihelper

if (templatefornew == null) templatefornew = uigrid.transform.getchild(0

).gameobject;

_resizeuiwidgetcontainergameobjects(uigrid.transform, resizecount, templatefornew);

uigrid.reposition();

}public

static

void resizeuitablegameobjects(uitable uitable, int resizecount, gameobject templatefornew = null

)

if (templatefornew == null) templatefornew = uitable.transform.getchild(0

).gameobject;

_resizeuiwidgetcontainergameobjects(uitable.transform, resizecount, templatefornew);

uitable.reposition();

}public

static

void _resizeuiwidgetcontainergameobjects(transform transf, int

resizecount, gameobject templatefornew)

newtemplate =transf.getchild(i).gameobject;

if (!newtemplate.activeself)

newtemplate.setactive(

true

); }

//多餘的child setactive(false)

for (int i = resizecount; i < transf.childcount; ++i)

}//////

模仿 nguiselectiontool的同名方法,將位置旋轉縮放清零

/// ///

public

static

void

resetlocaltransform(transform t)

}

public

class

xuilevel :cuicontroller

levelgrid.getcomponent

().enabled = true

; levelgrid.reposition();

}void

onclicklevel(gameobject obj)

}

效能測試 效能測試步驟

針對此次庫內作業效能測試,梳理一下期間的工作流程 梳理已有的介面指令碼,確認需要做效能測試的幾個介面,即使用率高,對效能有要求的幾個主要介面。結合頁面的操作,和確認的介面,梳理具體的業務邏輯 同時,請開發人員部署了測試環境。測試環境的伺服器指標,盡量和生產環境一致。部署的時候,負載均衡等情況也盡量和...

《效能之巔》初識效能

效能是一門令人激動 富於變化的學科同時又充滿挑戰的學科。衡量效能乙個重要指標 延時 系統效能是對於整個系統進行研究,包括了所有的硬體元件和整個軟體棧。通用的軟體棧有哪些呢?包括作業系統 os 核心,資料庫和應用程式層。術語中的 全棧 有時候指的是程式應用環境,包含資料庫,應用程式,和 伺服器。效能通...

PHP效能 序 談效能

這裡不談php的效能和其他語言的效能,這裡討論php自身的效能問題。效能是什麼?通俗的來講,效能,就是在固定的環境下能做的事情的多少。為什麼要效能?1 每乙個軟體或 的環境是相對固定的 2 在相當的一段時間內,在保障增加的使用者數量的同時使得當前環境的軟體或 能夠正常執行 3 為了省錢 php的效能...