unity3d游戲開發(fā)之移動(dòng)開發(fā)優(yōu)化詳解

unity3d游戲開發(fā)之移動(dòng)開發(fā)優(yōu)化詳解

ID:8808593

大?。?1.66 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2018-04-08

unity3d游戲開發(fā)之移動(dòng)開發(fā)優(yōu)化詳解_第1頁(yè)
unity3d游戲開發(fā)之移動(dòng)開發(fā)優(yōu)化詳解_第2頁(yè)
unity3d游戲開發(fā)之移動(dòng)開發(fā)優(yōu)化詳解_第3頁(yè)
unity3d游戲開發(fā)之移動(dòng)開發(fā)優(yōu)化詳解_第4頁(yè)
unity3d游戲開發(fā)之移動(dòng)開發(fā)優(yōu)化詳解_第5頁(yè)
資源描述:

《unity3d游戲開發(fā)之移動(dòng)開發(fā)優(yōu)化詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、優(yōu)化正如PC一樣,iOS和安卓(Android)等移動(dòng)平臺(tái)也存在各種性能級(jí)別的設(shè)備。您可以輕松找到一部渲染效果比其他手機(jī)好10倍的手機(jī)??s放方法非常簡(jiǎn)單:·確保它在基準(zhǔn)配置上正常運(yùn)行·在高性能配置上使用更多特效:·分辨率·后處理·多重采樣抗鋸齒·各向異性·著色器·特效/粒子密度,打開/關(guān)閉注重GPU????圖形性能與填充率、分辨率和幾何體復(fù)雜度(頂點(diǎn)數(shù))息息相關(guān)。如果找到方法剔除更多渲染,那么這三個(gè)要素的值都會(huì)降低。此時(shí),遮擋剔除可起到有效作用。Unity會(huì)自動(dòng)剔除視錐外的對(duì)象。在移動(dòng)平臺(tái)上,基本上會(huì)受到填充率的約束(填充率=屏幕像素*著色器復(fù)雜度

2、*透支度),著色器過(guò)于復(fù)雜是導(dǎo)致問(wèn)題出現(xiàn)的最常見(jiàn)原因。因此,請(qǐng)使用Unity自帶的移動(dòng)著色器或自己設(shè)計(jì),但要盡可能簡(jiǎn)單。如果可行,請(qǐng)將代碼移動(dòng)到頂點(diǎn)著色器中,簡(jiǎn)化像素著色器。如果降低質(zhì)量設(shè)置(QualitySettings)中的紋理質(zhì)量(TextureQuality)后游戲運(yùn)行速度加快,那么很可能是受內(nèi)存帶寬所限。此時(shí)可壓縮紋理、使用貼圖細(xì)化,降低紋理大小等。LOD(細(xì)節(jié)等級(jí))使對(duì)象更簡(jiǎn)單,或移向遠(yuǎn)方后完全消除。主要目的為減少繪制調(diào)用的次數(shù)。--來(lái)自狗刨學(xué)習(xí)網(wǎng)出色實(shí)踐??????移動(dòng)GPU對(duì)于自身產(chǎn)生多少熱量、使用的電量以及尺寸大小或噪音大小有嚴(yán)格

3、限制。與臺(tái)式機(jī)部件相比,移動(dòng)GPU的帶寬較小、運(yùn)算器(ALU)性能和紋理功率也較低。GPU的架構(gòu)也進(jìn)行了調(diào)整,以盡量使用最小帶寬和功率。??????Unity針對(duì)OpenGLES2.0進(jìn)行了優(yōu)化,使用GLSLES(類似于高級(jí)著色語(yǔ)言HLSL)著色語(yǔ)言。內(nèi)置著色器大多使用高級(jí)著色器語(yǔ)言(即HLSL,也稱之為Cg)編寫。針對(duì)移動(dòng)平臺(tái),其被交叉編譯成GLSLES。如果您想要,也可以直接編寫GLSL,但這樣會(huì)限制您訪問(wèn)OpenGL平臺(tái)(如移動(dòng)+Mac),因?yàn)槟壳斑€沒(méi)有GLSL->HLSL轉(zhuǎn)換工具。在HLSL中使用浮點(diǎn)/半浮點(diǎn)/固定(float/half/f

4、ixed)類型時(shí),它們?cè)贕LSLES中會(huì)以highp/mediump/lowp精度限定符結(jié)尾。以下列出了一些出色實(shí)踐:·盡量使材質(zhì)數(shù)目減至最低,便于Unity輕松進(jìn)行批處理?!な褂眉y理精靈(大貼圖包含多個(gè)子貼圖),而非許多單個(gè)紋理。使加載速度更快,狀態(tài)轉(zhuǎn)換更少,批處理簡(jiǎn)單方便?!と绻褂眉y理精靈和共享材質(zhì),請(qǐng)用Renderer.sharedMaterial代替Renderer.material?!は蚯颁秩鞠袼?zé)舯容^耗性能。·盡量使用光照貼圖代替實(shí)時(shí)燈光。·在質(zhì)量設(shè)置中調(diào)整像素?zé)魯?shù)目?;旧现挥蟹较驘魹橹鹣袼兀渌紴橹痦旤c(diǎn)。當(dāng)然,這取決于游戲本身。

5、·在質(zhì)量設(shè)置(QualitySettings)中嘗試調(diào)整燈光的渲染模式(RenderModeofLights),以獲得正確優(yōu)先級(jí)?!け苊馐褂脫笀D(透明度測(cè)試)著色器,除非真正有必要?!⑼该鳎╝lpha混合)屏幕的覆蓋范圍保持在最小。·努力避免多個(gè)燈光照亮任何給定對(duì)象的情況。·努力降低著色器通道(陰影、像素?zé)簟⒎瓷洌┑目倲?shù)目?!や秩卷樞蚝荜P(guān)鍵。一般情況下:·從前往后完全不透明的對(duì)象?!ご笾聫那巴蠼?jīng)alpha測(cè)試的對(duì)象。·天空盒?!lpha混合對(duì)象(若需要,從后往前)。·在移動(dòng)平臺(tái)上進(jìn)行后處理性能消耗大,請(qǐng)謹(jǐn)慎使用。·粒子:減少透支,盡量使用最簡(jiǎn)

6、單的著色器。·每一幀都要修改的網(wǎng)格使用雙緩存:著色器優(yōu)化檢查填充率綁定是否容易:如果降低顯示分辨率,游戲運(yùn)行速度是否加快?若是,即受到了填充率的限制。嘗試使用以下方法降低著色器的復(fù)雜度:·避免使用alpha測(cè)試著色器,而是采用alpha混合版本?!な褂煤?jiǎn)單、已優(yōu)化的著色器代碼(如Unity附帶的“移動(dòng)(Mobile)”著色器)。·避免在著色器代碼中使用性能消耗大的數(shù)學(xué)函數(shù)(如指數(shù)表達(dá)式、指數(shù)、對(duì)數(shù)、余弦、正弦、正切等)??紤]使用預(yù)計(jì)算的查找紋理代替?!閷?shí)現(xiàn)最佳性能,盡可能選擇最低數(shù)值的精度格式(Cg中的浮點(diǎn)、半浮點(diǎn)和固定(float,half,f

7、ixed))。注重CPU????游戲受到GPU像素處理限制的情況時(shí)有發(fā)生。導(dǎo)致最終出現(xiàn)CPU未充分使用的情況,多核移動(dòng)CPU尤其如此。將GPU中的一些工作移出來(lái),放到CPU中處理往往是比較明智的做法(Unity處理所有這些操作):網(wǎng)格蒙皮、小對(duì)象的批處理、粒子幾何體更新。????慎用,不要盲目地全放到CPU中處理。如果不受繪制調(diào)用限制,那么隨著剔除效率的降低和更多對(duì)象受到燈光影響,批處理的實(shí)際性能會(huì)變差!出色實(shí)踐·在移動(dòng)設(shè)備上每幀的繪制調(diào)用不要超過(guò)數(shù)百次?!indObjectsOfType(以及Unity的一般getter屬性)非常慢,慎用。·設(shè)

8、置非移動(dòng)對(duì)象的靜態(tài)(Static)屬性,允許靜態(tài)批處理等內(nèi)部?jī)?yōu)化?!は拇罅緾PU周期進(jìn)行遮擋剔除和更好的排序(利用Ear

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。