UWA技能成長(zhǎng)系統(tǒng)是UWA根據(jù)學(xué)員的職業(yè)發(fā)展目標(biāo),提供技能學(xué)習(xí)的推薦路徑,再將所需學(xué)習(xí)內(nèi)容按難易等多維度,設(shè)計(jì)分成多個(gè)學(xué)習(xí)階段,可以循序漸進(jìn)地進(jìn)行學(xué)習(xí)。

進(jìn)入技能成長(zhǎng)體系,目標(biāo)選擇高級(jí)客戶端開發(fā)工程師(Unity)即可開始學(xué)習(xí),初、中級(jí)的學(xué)習(xí)路徑我們也會(huì)盡快上線,以供更多的開發(fā)者們學(xué)習(xí)成長(zhǎng)。
高級(jí)客戶端開發(fā)工程師(Unity)目標(biāo)共設(shè)置了7個(gè)學(xué)習(xí)任務(wù),適合有一定Unity開發(fā)經(jīng)驗(yàn),想要進(jìn)一步學(xué)習(xí)Unity優(yōu)化技能的開發(fā)者,完成學(xué)習(xí)后,可以掌握游戲性能瓶頸定位的方法和常見的CPU、GPU、內(nèi)存相關(guān)的性能優(yōu)化方法。
Mission 1:定位性能瓶頸
學(xué)會(huì)使用常見的性能排查工具
能夠定位性能瓶頸來(lái)自CPU、GPU還是內(nèi)存
難度:1顆星
預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng):3小時(shí)
目錄:
第一章:性能標(biāo)準(zhǔn)
1.1 耗時(shí)推薦值
1.2 內(nèi)存推薦值
1.3 渲染模塊推薦值
第二章:性能排查工具
2.1 Unity Profiler
2.2 Unity FrameDebugger
2.3 Mali Offline Compiler
2.4 XCode FrameDebugger
2.5 GOT Online
戳此進(jìn)入>>https://community.uwa4d.com/objective
Mission 2:內(nèi)存占用
掌握結(jié)合項(xiàng)目加載模塊耗時(shí)和內(nèi)存占用的實(shí)際情況制定合理策略的能力
掌握各種主要資源內(nèi)存的基礎(chǔ)知識(shí)和常見優(yōu)化手段
了解Mono堆內(nèi)存的常見問(wèn)題和排查方法
難度:1顆星
預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng):3小時(shí)
目錄:
第一章:策略導(dǎo)致的內(nèi)存問(wèn)題
1.1 資源冗余
1.2 代碼生成的資源
1.3 加載和緩存策略
第二章:Gfx內(nèi)存
2.1 紋理資源
2.2 網(wǎng)格資源
2.3 Shader資源
第三章:Reserved Unity
3.1 Render Texture資源
3.2 動(dòng)畫資源
3.3 音頻資源
3.4 字體資源
3.5 粒子系統(tǒng)資源
第四章:托管堆內(nèi)存
4.1 Mono堆內(nèi)存具體分配
戳此進(jìn)入>>https://community.uwa4d.com/objective
Mission 3:動(dòng)畫模塊
了解Unity的兩種動(dòng)畫系統(tǒng)
能夠定位動(dòng)畫耗時(shí)的主要瓶頸
掌握Mecanim動(dòng)畫常見的優(yōu)化方案
難度:1顆星
預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng):3小時(shí)
目錄:
第一章:Mecanim動(dòng)畫
1.1 Active Animator數(shù)量
1.2 Optimize Game Objects
1.3 Apply Root Motion
1.4 Compute Skinning
1.5 Animator.Initialize
第二章:Legacy動(dòng)畫
2.1 Animation.Sample
戳此進(jìn)入>>https://community.uwa4d.com/objective
Mission 4:物理模塊
掌握Contacts、物理更新次數(shù)、Rigidbody、 Collider等物理相關(guān)的基本概念
了解物理更新次數(shù)的影響因素和限制方法
掌握常見的替代物理模擬的優(yōu)化方案
掌握如何使用Profiler分析和確認(rèn)Contacts的數(shù)量
難度:1顆星
預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng):3小時(shí)
目錄:
第一章:物理模塊耗時(shí)
1.1 Collision的產(chǎn)生
1.2 Trigger的替代方案
1.3 Physics Layer的設(shè)置
1.4 物理更新次數(shù)
1.5 Auto Simulation
1.6 RaycastCommand
第二章:物理模塊堆內(nèi)存
2.1 NonAlloc物理API
戳此進(jìn)入>>https://community.uwa4d.com/objective
Mission 5:UGUI
了解UGUI熱點(diǎn)函數(shù)的優(yōu)化
掌握UI的DrawCall優(yōu)化方法
了解UI模塊對(duì)于GPU產(chǎn)生的壓力
難度:2顆星
預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng):3小時(shí)
目錄:
第一章:熱點(diǎn)函數(shù)
1.1 Canvas.SendWillRenderCanvases
1.2 BuildBatch & EmitWorldScreenspace CameraGeometry
1.3 SyncTransform
1.4 EventSystem.Update
第二章:DrawCall優(yōu)化
2.1 合并圖集
2.2 重疊打斷合批
2.3 Z!=0
戳此進(jìn)入>>https://community.uwa4d.com/objective
Mission 6:加載模塊
了解隸屬于加載模塊的耗時(shí)節(jié)點(diǎn)的原理和含義
掌握RUUA、Shader加載等常見耗時(shí)瓶頸的優(yōu)化方案
掌握AB加載、資源加載、資源實(shí)例化、對(duì)象顯隱等常見加載模塊API的使用場(chǎng)景
難度:2顆星
預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng):5小時(shí)
目錄:
第一章:Loading.UpdatePreloading
1.1 Shader解析和編譯
1.2 Resources.UnloadUnusedAssets
1.3 異步加載優(yōu)先級(jí)
第二章:加載API
2.1 加載和卸載AssetBundle
2.2 加載和卸載資源
2.3 實(shí)例化和銷毀對(duì)象
2.4 激活和隱藏對(duì)象
戳此進(jìn)入>>https://community.uwa4d.com/objective
Mission 7:渲染模塊壓力定位
學(xué)會(huì)4種Batching方式
掌握Culling的優(yōu)化方法
掌握Overdraw的統(tǒng)計(jì)和優(yōu)化方法
掌握Shader復(fù)雜度的統(tǒng)計(jì)方法
難度:3顆星
預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng):5小時(shí)
目錄:
第一章:渲染模塊CPU壓力
1.1 Batching
1.2 Culling
第二章:渲染模塊GPU壓力
2.1 GPU耗時(shí)
2.2 渲染面片數(shù)
2.3 Overdraw
2.4 后外理
2.5 Shader復(fù)雜度
戳此進(jìn)入>>https://community.uwa4d.com/objective
以上是技能成長(zhǎng)體系中的針對(duì)高級(jí)客戶端開發(fā)工程師的相關(guān)學(xué)習(xí)內(nèi)容,按學(xué)習(xí)任務(wù),一步步“升級(jí)打怪”,一定會(huì)有所收獲。
此外,還為大家整理了高級(jí)客戶端開發(fā)工程師的學(xué)習(xí)路徑,按難易度以及模塊進(jìn)行區(qū)分,并在對(duì)應(yīng)的知識(shí)點(diǎn)為大家推薦了課程,感興趣的讀者可以前往UWA學(xué)堂搜索查看~
