Libgdx畫面FPS性能優(yōu)化經(jīng)驗(yàn)-創(chuàng)新互聯(lián)

最近做的一個(gè)游戲類似植物大戰(zhàn)僵尸的風(fēng)格,做完之后發(fā)現(xiàn)FPS一直不高,打無盡模式就相當(dāng)?shù)目?,所以就研究了一下到底是什么原因?qū)е碌摹D壳皟?yōu)化完FPS提高了35%,效果還是比較理想的,記錄一下經(jīng)驗(yàn)供分享。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、茂南網(wǎng)絡(luò)推廣、成都微信小程序、茂南網(wǎng)絡(luò)營(yíng)銷、茂南企業(yè)策劃、茂南品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供茂南建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:muchs.cn

【性能定位】

1. 可重現(xiàn)的DEMO

 先寫了個(gè)一可以重現(xiàn)問題的demo,另外還準(zhǔn)備了一個(gè)看起來效果類似卻不出現(xiàn)問題的demo。這樣有比更容易找到問題。

2. 時(shí)間消耗在哪

 開啟jvirtualvm進(jìn)行測(cè)試,很明顯內(nèi)存是一切正常的,但是CPU消耗就異常了。反復(fù)對(duì)比發(fā)現(xiàn)CPU消耗主要就是在“org.lwjgl.opengl.GL11.nglDrawElements”方法上,對(duì)比正常的demo,主要時(shí)間消耗是在“org.lwjgl.opengl.GL11.glDrawElements”方法上。前者調(diào)用了jni,后者就是直接調(diào)用,所以性能上有較大差距。但是這個(gè)時(shí)候還是很難知道到底為什么會(huì)這樣,這些代碼也都是被封裝了的,看不到源碼。

3. 定位代碼

 還是要找到大致問題代碼是在哪一塊,其實(shí)目前已經(jīng)知道肯定是繪制的地方出問題了,所以用時(shí)間打印的方法很快找到代碼,但是跟到最后就是一個(gè)內(nèi)部的函數(shù)調(diào)用,外層方法完全看不出來有啥特別的。

4. 替換比較法

 還好準(zhǔn)備了兩個(gè)有對(duì)比性的demo,不停的替換不一樣的地方去看看到底是哪里引起的。這是一個(gè)笨辦法,但是通常都很奏效,但是也要點(diǎn)運(yùn)氣,搞了幾個(gè)小時(shí)總算發(fā)現(xiàn)了端倪。

【性能優(yōu)化結(jié)論】

1. 繪制的性能與次數(shù)有關(guān),與繪制最終所占屏幕面積無關(guān)。也就是說你把100個(gè)圖片覆蓋整個(gè)畫面的性能和100個(gè)圖片繪制在同一個(gè)位置看起來像一個(gè)圖片的性能是相當(dāng)?shù)摹?/p>

2. 圖片繪制的面積大到一定程度才影響性能。繪制工作肯定還是與面積有關(guān),但是25%屏幕大小以內(nèi)的圖片對(duì)性能影響幾乎沒有,但圖片達(dá)到80%屏幕覆蓋時(shí)會(huì)有大約40%的性能影響,不是成同等比例關(guān)系。

3. 圖片用Linear比Nearest要更消耗性能。當(dāng)需要用到的Linear打包圖片數(shù)量達(dá)到幾十個(gè)的時(shí)候就需要注意性能,盡量改用Nearest算法,性能會(huì)有10%的提升。

4. 同一個(gè)打包合并的圖片連續(xù)使用可以大幅度提升性能(注:同一個(gè)pack下合并在不同圖片性能和2個(gè)pack是一樣差的)。在同一個(gè)pack的圖片,注意在addActor的時(shí)候連續(xù)添加,性能可以極大提升,甚至連續(xù)繪制幾百?gòu)垐D片都不會(huì)對(duì)fps有太大影響,這也是為什么在libgdx有一個(gè)actor測(cè)試的時(shí)候有許多圖片感覺都不掉fps的原因。這個(gè)優(yōu)化性能提升是在100%以上。

5. 畫面簡(jiǎn)單,透明度較多的圖片性能更好。這個(gè)會(huì)減少繪制的負(fù)擔(dān),當(dāng)然圖片大到一定程度才會(huì)感覺到差別,根據(jù)畫面復(fù)雜度可能會(huì)有20%的不同。

6. 大量的GROUP對(duì)象影響繪制性能。當(dāng)GROUP對(duì)象使用達(dá)到幾十個(gè)的時(shí)候,哪怕只是包含一個(gè)Image的Group都會(huì)比簡(jiǎn)單的Image繪制要消耗更多時(shí)間,幀數(shù)下降了10多幀。(2014年1月2日補(bǔ)充)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文標(biāo)題:Libgdx畫面FPS性能優(yōu)化經(jīng)驗(yàn)-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article12/deihdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站網(wǎng)站排名、網(wǎng)站策劃網(wǎng)頁(yè)設(shè)計(jì)公司、標(biāo)簽優(yōu)化、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)