日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 万象百科 >内容正文

万象百科

2d手机平面游戏帧数的问题

發(fā)布時間:2023/11/29 万象百科 40 博士
生活随笔 收集整理的這篇文章主要介紹了 2d手机平面游戏帧数的问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
測試是一種理想狀態(tài),和實際差的很遠、。

使用Cocos2d-x 3.0開發(fā)游戲之后,發(fā)現(xiàn)游戲在android手機上發(fā)熱非常嚴重,在魅族2上,幾乎擔心手機會爆炸了~~~采取的一個措施就是降低幀率,因為游戲?qū)τ趲室蟛皇欠浅8摺W鲞^cocos2d開發(fā)的同學應該都知道在win32平臺修改幀率的方式非常簡單,就是在AppDelegate.cpp文件中修改:1director->setAnimationInterval(1.0 / 40);但是這種修改方式在導出android安卓apk到真機測試的時候,發(fā)現(xiàn)左下角的調(diào)試信息還是現(xiàn)實60~65幀,完全不受影響,網(wǎng)上搜索之后,發(fā)小安卓的修改需要修改cocos2dx-x生成的java代碼中修改,具體在文件:Cocos2dxRenderer.java在代碼中可以看到以下的屬性設置和重寫的方法:12private static long sAnimationInterval = (long) (1.0 / 60 * Cocos2dxRenderer.NANOSECONDSPERSECOND);public void onDrawFrame(final GL10 gl) {}如果要修改android平臺的幀率,可以通過修改這些代碼來改進,具體的操作方法如下:1.修改幀率將60改成401private static long sAnimationInterval = (long) (1.0 / 40 * Cocos2dxRenderer.NANOSECONDSPERSECOND);2.增加一個屬性變量1private long renderingElapsedTime = 0;3.重寫渲染方法onDrawFrame1234567891011121314151617181920@Overridepublic void onDrawFrame(final GL10 gl) { try { if (renderingElapsedTime * NANOSECONDSPERMICROSECOND < Cocos2dxRenderer.sAnimationInterval) { Thread.sleep((Cocos2dxRenderer.sAnimationInterval - renderingElapsedTime * NANOSECONDSPERMICROSECOND) / NANOSECONDSPERMICROSECOND); } } catch (InterruptedException e) { e.printStackTrace(); } // Get the timestamp when rendering started long renderingStartedTimestamp = System.currentTimeMillis(); // should render a frame when onDrawFrame() is called or there is a // "ghost" Cocos2dxRenderer.nativeRender(); // Calculate the elapsed time during rendering renderingElapsedTime = (System.currentTimeMillis() - renderingStartedTimestamp);}代碼中將渲染消耗的時間算進去,所以得到的幀率應該來說非常準確了。注意,Cocos2dxRenderer中的onDrawFrame官方有實現(xiàn)好的幀率算法,但是被注釋掉了,注釋文本說存在一定的bug,幀率不精確,實際上大部分情況都可已正常使用,所以最好不要采用了~這么做了之后,游戲的幀率在38~41左右,發(fā)熱的問題也基本解決了。最后,如果你要更好,更精確的幀率算法,也可以留言回復...

cpu性能不夠,一般cpu和顯示核心價位要一樣

測試一般是最佳狀態(tài),也就是說火力全開的那種

總結(jié)

以上是生活随笔為你收集整理的2d手机平面游戏帧数的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。