遊戲效能優化(基礎)

2021-09-05 11:50:37 字數 632 閱讀 8316

資源在遊戲中會大量頻繁地使用,而在記憶體中是按照2的冪次方來載入的,例如一張大小是2020畫素的,在程式執行中是按照3232來處理的,而且從磁碟上載入每一張都屬於io操作,非常耗費cpu時間,尤其是在android的低端裝置上。所以通過打包工具(例如texturepacker)把多張小合併到一張大圖里,可大大減少io操作,有效地減小記憶體占用,提高載入速度。

也是占用記憶體和包體積最多的資源,例如一張大小是10241024畫素、格式為rgba8888的,每個畫素佔4個位元組,則該所佔的記憶體就是102410244,即4mb,如果這張沒有半透明色,可以把它轉換為rgb565或rgb5551,這樣每個畫素只佔2個位元組,畫質沒降多少,但該所佔記憶體降了一半,即10241024*2=2mb。或者對畫質要求不高,可轉換為rgba4444,同樣能節省一半記憶體。另外使用第三方工具(如imagealpha)對進行壓縮,可在基本不損畫質的情況下,減小大小。

定時重新整理類似於輪詢機制,程式會固定的定時呼叫該update函式,如每幀或每秒。整個遊戲是靠update來驅動的,例如士兵的移動、**的自動**、子彈的碰撞檢測等,這其中每乙個upate都需要耗費cpu時間去處理,有些情況下可能是不必要的,所以把相關的邏輯盡量放在乙個update中,或者採用事件驅動,只有當該事件確實發生後才去執行相關邏輯,這些都可以減輕cpu的負擔,提高遊戲效能。

mysql 遊戲 知乎 遊戲效能優化雜談(七)

當代的遊戲引擎,cpu端的乙個主要工作其實就是在進行遊戲當中諸多actor的生命週期管理。遊戲相對於其它軟體的乙個顯著特點是,它的執行就是為了呈現。普通軟體注重的是功能和業務流,完成既定任務是軟體的主要目的 但是遊戲軟體的目的就是呈現。因此,聰明地 對遊戲場景以及actor進行管理,對於遊戲的整體效...

塔防類遊戲效能優化分享

最近因為新冠肺炎的關係,公司做了很多預期相關的內容。其實乙個就是塔防遊戲,大概就是在固定的路線上建立炮台以抵擋病毒,防止乙個個病毒進入體內的。那做就好了,為什麼還要有優化這麼一說呢?要求只是在一些高階的pc機上執行正常即可,而且時間要求非常緊。乙個人完成,包括策劃 美術 程式 數值等工作,只有兩天。...

Unity3D 遊戲效能優化筆記

一 程式方面 1 盡量少new物件,減少gc的次數,可以使用物件池技術。2 使用ugui時,不要通過介面的z軸來做介面排序,這貌似會導致ugui的批處理失效。3 盡量少使用getcomponent 頻繁呼叫的可以用乙個變數在開始時把component存起來。4 不使用ongui 5 盡量少例項化遊戲...