javascript
Cocos2d-JS项目之UI界面的优化
測(cè)試環(huán)境: iphone4、iOS6.1.2、chrome 37.2062.60,Cocos2d-js 3.6
?
之前寫了不少,實(shí)際項(xiàng)目也按這個(gè)去優(yōu)化了,也有效果,但到最后才發(fā)現(xiàn),尼瑪,之前都搞錯(cuò)了,之所以有效果是歪打正著。。。。這次就直接總結(jié)一些得到的結(jié)論算了吧
?
0、pc 端瀏覽器大部分都支持 webGL,移動(dòng)端瀏覽器大部分都還是 canvas 渲染模式,最新的 iPhone6以上(ios8+)、小米4等一些搭載著最新系統(tǒng)的移動(dòng)端才支持 webGL。最簡(jiǎn)單的測(cè)試當(dāng)前環(huán)境是否支持 webGL 的方法:項(xiàng)目里 project.json 文件里 renderMode 改成2,然后看游戲是否正常運(yùn)行。
1、能用sprite就別用imageView。
2、盡量減少UI的數(shù)量,使用合圖。
3、沒有背景色的容器不渲染,sprite 渲染一次, imageview 要渲染兩次, Button 要渲染四次。。。需要點(diǎn)擊效果的采用 Button,否則可以用 imageview 或者 sprite+Layout 來(lái)代替。
4、 canvas 模式下,別在滑動(dòng)控件里使用帶有九宮格的 UI ,否則滑動(dòng)時(shí)一個(gè)九宮格會(huì)變成九個(gè)精靈,使用的 Button 也要把九宮格效果取消掉,因?yàn)?canvas 模式?jīng)]有批渲染。
5、滑動(dòng)容器的內(nèi)容很多時(shí),對(duì)于現(xiàn)實(shí)范圍外的控件,手動(dòng)處理設(shè)置不可見。
6、不需要交互的 widget 的 可交互性 全部設(shè)為 否。
7、webGL 模式:支持 webGL 的移動(dòng)端都是比較新的,性能也很強(qiáng)大,應(yīng)該沒有什么性能瓶頸的,最多在大量精靈時(shí)使用批渲染即可,需要注意的時(shí),3.x 的自動(dòng)批處理在 js 版本里是沒有的,studio 里也沒法用,需要手動(dòng)代碼處理。canvas 模式:目前大部分移動(dòng)端都還是 canvas 吧,除了1~6點(diǎn)外,使用 bake 可以極大提高 canvas 渲染的效率:?http://www.cocos2d-x.org/docs/manual/framework/html5/v3/bake-layer/zh
轉(zhuǎn)載于:https://www.cnblogs.com/jacket/p/6133812.html
總結(jié)
以上是生活随笔為你收集整理的Cocos2d-JS项目之UI界面的优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20145202马超《信息安全系统设计基
- 下一篇: MyBatis操作指南-与Spring集