Cocos2d-JS项目之UI界面的优化

测试环境: iphone4、iOS6.1.2、chrome 37.2062.60,Cocos2d-js 3.6

 

之前写了不少,实际项目也按这个去优化了,也有效果,但到最后才发现,尼玛,之前都搞错了,之所以有效果是歪打正着。。。。这次就直接总结一些得到的结论算了吧

 

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

转载于:https://www.cnblogs.com/jacket/p/6133812.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java数_java大数

java大数还是很好用的!基本加入:import java.math.BigInteger;import jave.math.BigDecimal;分别是大数和大浮点数。首先读入可以用:Scanner input new Scanner(System.in);BigInteger a input.nextBigInteger();这样读还是很方便的当然还有…

【Qt之Quick模块】6. QML语法详解_2类型系统

描述 在QML文档中对象层次结构的定义中可能使用的类型可以来自各种来源。它们可能是: 由QML语言原生提供通过QML模块通过c注册由QML模块作为QML文档提供 此外,应用程序开发人员可以通过直接注册c类型,或者通过在QML文档中定义可重用的组件(然后可以导…

JS显示当前时间(包含农历时间)

时间格式: JavaScript代码: var sWeek new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");var dNow new Date();var CalendarData new Arra…

Maven原型创建技巧

我最近需要为姜黄SOA项目创建一些Maven原型。 对于不了解的人来说, Maven原型是一种基于一些预先罐装的项目模板生成项目的方法。 对于当前的姜黄SOA原型,它将创建一个多模块Maven项目,该项目包含Interface和Service项目以及基本的WSDL和适当…

MyBatis操作指南-与Spring集成(基于注解)

转载于:https://www.cnblogs.com/weilu2/p/mybatis_spring_integration_basic_on_annotation.html

Windows mysql boost_Win7下Boost库的安装

Boost库是C领域公认的经过千锤百炼的知名C类库,涉及编程中的方方面面,简单记录一下使用时的安装过程1.boost库的下载boost库官网主页:www.boost.org2.安装将下载的压缩包解压到指定的目录3.建立编译工具bjam.exe在源码目录下执行bootstrap.ba…

5.2与终端进行对话

Linux提供了一个特殊的设备 /dev/tty ,该设备始终是指向当前终端或者当前的登录会话。 FILE* output fopen("/dev/tty", "w"); //向终端写入字符串 fprintf(output, "%s\n", "world"); FILE* input fopen("/dev/tty…

JVM:如何分析线程转储

本文将教您如何分析JVM线程转储,并查明问题的根本原因。 从我的角度来看,线程转储分析是掌握Java EE生产支持的任何个人最重要的技能。 您可以从线程转储快照中获取的信息量通常远远超出您的想象。 我的目标是与您分享我在过去10年中积累的有关线程转储分…

极光推送JPush的快速集成

首先到极光推送的官网上创建一个应用,填写对应的应用名和包名。 创建好之后下载Demo 提取Sdk里面的图片和xml等资源文件放自己项目的相应位置,然后要注意的是.so文件的放置位置: 在main目录下新建一个jniLibs文件夹,放在这个文件夹…

c遗传算法的终止条件一般_Matlab2 :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作 联合开发网 - pudn.com...

Matlab2所属分类:matlab例程开发工具:PDF文件大小:115KB下载次数:76上传日期:2007-09-07 20:04:29上 传 者:钱广说明: :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作及终止条件、二…

用程序输出表格

做应用程序的时候经常需要输出excel表格,除了不同语言接口完善程度不同的麻烦以及要添加各种外部引用的麻烦之外还要考虑应用环境不同的office版本的问题,实在麻烦 当只需要输出数据,不管颜色什么的的话,有个避免上述麻烦的办法就…

elk系列1之入门安装与基本操作

preface 我们每天都要查看服务器的日志,一方面是为了开发的同事翻找日志,另一方面是巡检服务器查看日志,而随着服务器数量以及越来越多的业务上线,日志越来越多,人肉运维相当痛苦了,此时,参考现…

Java 7 –反编译项目硬币

大家好,该是从2012年开始写作的时候了。正如您在其他博客中可能已经看到的那样,有一些更改可以使您使用Java编程时的开发人员生活变得更加轻松:Diamond运算符,Switchs中的Strings,尝试使用资源,多次捕获等 …

git安装后找不见版本_无法安装最新版本的Gitlab

这个问题不是代码,而是Gitlab的安装.我现在试图安装Gitlab几天没有成功.实际上,很久以前,他们提出了使用wget的方法非常好,但由于我们必须使用Curl的方法,所以不可能比下载更进一步.在Ubuntu 14.04机器上,以下命令有效:curl https://packages.gitlab.com/install/re…

在Excel表里面插入背景图

工作中我们会经常用到MS Excel,通常我们打开MS Excel,里面的工作表都是空白单调的背景。当然了,MS Excel可以在工作簿里面插入背景图片。那么问题来了,如果你没有安装Microsoft Office,该如何在Excel文件里面插入好看的…

Java 7:复制和移动文件和目录

这篇文章是我关于Java 7 java.nio.file软件包的系列文章的继续,这次涵盖了文件的复制和移动以及完整的目录树。 如果您曾经对Java缺少copy和move方法感到沮丧,那么请继续阅读,以免麻烦。 涵盖范围中包括非常有用的Files.walkFileTree方法。 但…

java 五子棋项目_Java项目如何实现五子棋小游戏

Java项目如何实现五子棋小游戏发布时间:2020-07-21 14:53:06来源:亿速云阅读:77作者:小猪小编这次要给大家分享的是Java项目如何实现五子棋小游戏,文章内容丰富,感兴趣的小伙伴可以来了解一下,希…

Java中多线程的使用!!

简介: 1.要了解多线程,首先我们得先了解进程和线程。那么什么是进程?进程就是一个正在运行的程序分配内存让应用程序能够运行的叫做进程。那么什么又是线程呢?线程:在一个程序中,负责代码的执行&#xff0c…

java pkcs1转pkcs8_pkcs1与pkcs8格式RSA私钥互相转换

1、PKCS1私钥生成openssl genrsa -out private.key 1024private.key文件内容如下:-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDREk3uy4x9i4a16OYOYEp5Ir2f16lsmUHB2HjGDlxkU0ju9YApyeZlUXb191ZkxJ2vx2vKppN4gKLDy5r7JMTpwch1CNvceySX6DiM4lwTAnUEZiBYgNBNrKINEt…

嵌入式码头,Vaadin和焊接

当我开发Web应用程序时,我希望能够从Eclipse快速启动它们,而不必依赖各种重量级的tomcat或glassfish插件。 因此,我通常要做的只是创建一个可以直接从Eclipse运行的基于Java的简单启动器。 该启动器会在几秒钟内启动,因此使开发工…