Cocos2d-JS项目之四:UI界面的优化
2015-07-28 20:59
579 查看
0、pc 端浏览器大部分都支持 webGL,移动端浏览器大部分都还是 canvas 渲染模式,最新的 iPhone6以上(ios8+)、小米4等一些搭载着最新系统的移动端才支持 webGL。最简单的测试当前环境是否支持 webGL 的方法:项目里 project.json 文件里 renderMode 改成2,然后看游戏是否正常运行。
1、能用sprite就别用imageView。
2、尽量减少UI的数量,使用合图。
3、没有背景色的容器不渲染,sprite 渲染一次, imageview 要渲染两次, Button 要渲染四次。。。需要点击效果的采用 Button,否则可以用 imageview 或者 sprite+Layout 来代替。
4、 canvas 模式下,别在滑动控件里使用带有九宫格的 UI ,否则滑动时一个九宫格会变成九个精灵,使用的 Button 也要把九宫格效果取消掉,因为 canvas 模式没有批渲染。
5、滑动容器的内容很多时,对于现实范围外的控件,手动处理设置不可见。
6、不需要交互的 widget 的 可交互性 全部设为 否。
7、webGL 模式:支持 webGL 的移动端都是比较新的,性能也很强大,应该没有什么性能瓶颈的,最多在大量精灵时使用批渲染即可,需要注意的时,3.x 的自动批处理在 js 版本里是没有的,studio 里也没法用,需要手动代码处理。canvas 模式:目前大部分移动端都还是 canvas 吧,除了1~6点外,使用 bake 可以极大提高 canvas 渲染的效率: http://www.cocos2d-x.org/docs/manual/framework/html5/v3/bake-layer/zh
源引:http://www.cnblogs.com/zouzf/p/4524822.html
1、能用sprite就别用imageView。
2、尽量减少UI的数量,使用合图。
3、没有背景色的容器不渲染,sprite 渲染一次, imageview 要渲染两次, Button 要渲染四次。。。需要点击效果的采用 Button,否则可以用 imageview 或者 sprite+Layout 来代替。
4、 canvas 模式下,别在滑动控件里使用带有九宫格的 UI ,否则滑动时一个九宫格会变成九个精灵,使用的 Button 也要把九宫格效果取消掉,因为 canvas 模式没有批渲染。
5、滑动容器的内容很多时,对于现实范围外的控件,手动处理设置不可见。
6、不需要交互的 widget 的 可交互性 全部设为 否。
7、webGL 模式:支持 webGL 的移动端都是比较新的,性能也很强大,应该没有什么性能瓶颈的,最多在大量精灵时使用批渲染即可,需要注意的时,3.x 的自动批处理在 js 版本里是没有的,studio 里也没法用,需要手动代码处理。canvas 模式:目前大部分移动端都还是 canvas 吧,除了1~6点外,使用 bake 可以极大提高 canvas 渲染的效率: http://www.cocos2d-x.org/docs/manual/framework/html5/v3/bake-layer/zh
源引:http://www.cnblogs.com/zouzf/p/4524822.html
相关文章推荐
- Cocos2d-JS项目之三:使用合图
- Cocos2d-JS项目之二:cocostudio基础控件的使用
- 【Cocos2d-js教程】cocos2d-js 富文本 RichText
- cocos2d-x 3.x变动 - CCTime 的修改
- [cocos2dx]事件分发机制--lua源码(二)
- 【Cocos2d-x】CCAction
- cocos2d-x 精灵换图片
- Cocos2d-x制作旋转的button
- cocos2dx 更改sprite色相 饱和度 亮度
- Cocos2d-x中,addObserver如何传递消息
- cocos2d 工程移植到iOS碰到的一些问题解决方案
- cocos2d-x 架构 之内存管理
- cocos2d-x 帧动画
- cocos2dx3.2 Label 自动换行,各种label创建方式,描边,阴影,发光等;
- cocos2dx基础篇(23)——进度条CCProgressTimer - 夏天的风 - 51CTO技术博客
- cocos2dx接入shareSDK分享
- vs2013+cocos2d-x-2.2.3组态
- Cocos2d-x 3.1 内存管理机制
- Cocos2d-x中,使用NotificationCenter在Layer之间传输数据
- cocos2dx进度条笔记