Loading...
1. 性能瓶颈分析以下为 CPU 性能限定为 4x slowdown 情况下录制。切页时,会调用两个函数 initMenuTree (耗时 1.12 s)和 refreshWnd (耗时 84.2 ms)。其中,initMenuTree 函数分成 3 个部分,第一部分(匿名函数)用来向树中插入节点,耗时 87.7 ms;第二部分展开所有节点,耗时 888.5 ms;第三部分选中需要的节点,耗...
1. 性能瓶颈分析通过性能分析工具可以得知技能列表刷新一次,需要耗时 650 ms 左右刷新列表时,刷新了 5 个 item,每个 item 的刷新时间平均为 130 ms。查看单个 item 的刷新,分为 3 部分,getObject ,addChild 和 renderListItem 。其中 getObject 和 addChild 是虚拟列表 GList 添加 item 时必要的步骤...
近期,我们使用 Cocos Creator 开发的游戏想要上 微信小游戏 平台,但是微信小游戏有个 主包4M 的体积限制。在我们将游戏中的美术资源全部放到远程服务器后,发现剩下的纯代码大小居然也有近 5M ,其中引擎文件 cocos2d-js-min.js 和 fairygui.js 占了 1M 多,项目代码占了 3M 多。没办法,主包 4M 肯定是塞不下,只能借助微信小游戏的分包加载机制了...
微信小游戏中 window.atob 和 window.btoa 方法未定义。这两个方法是用来做 base64 加密和解密的,可以自己实现一下 atob 和 btoa 方法。// decoder function atob(input) { var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456...
安装编译依赖:# 在命令行中进入引擎路径 cd E:/engine # 安装 gulp 构建工具 npm install -g gulp # 安装依赖的模块 npm install编译:gulp build-dev # 出现 JavaScript heap out of memory 的报错,执行以下命令解决 gulp build-dev --max-old-space-size=8192或...
我们在开发网站或者网页游戏中通常需要存储用户数据,实现一些功能,比如记住密码,自动填入信息,一段时间内账号免登录等。这些数据需要存储在浏览器中,常用的存储方式有以下几种:Local Storage、Session Storage、Cookies 。1. Local StorageLocal Storage 的值能永久的存储在浏览器上,直到手动清空浏览器数据。同一个浏览器,同一个域名下,存储数...
FairyGUI 的富文本组件中,支持 UBB 语法,我们可以通过它来很方便设置文本的样式,插入图片,超链接等,进行 图文混排。不过,很多时候内置的标签并不够用,需要我们自定义标签。1. UBB 常用标签普通文本不支持语法中的img、url标签,因为普通文本是不可以图文混排的。要支持图文混排,改为使用富文本。1.1 图片[img]image_url[/img] 显示一个图片这里的 image...
Cocos Creator 前后台切换事件监听代码如下 onLoad: function () { cc.game.on(cc.game.EVENT_HIDE, this.onHide, this); cc.game.on(cc.game.EVENT_SHOW, this.onShow, this); }, onHide() { console.log(...
1. GameObject 的 SpawnPool 应支持“移出屏幕”功能GameObject(比如特效)可能会被频繁的在 使用中 、不使用 的状态间切换。我们的 SpawnPool 不应过快地把 刚刚不使用 的 GameObject 立刻 Deactivate 掉,否则会引起不必要的 Deactivate/Activate 的性能消耗。应有一个 从热变冷 的过程: 刚刚不使用 只是移出屏幕...
1. 应尽量减少创建 C# 堆内存对象建议使用成员变量,或者 Pool 来规避高频创建 C# 堆内存对象的创建。而且堆内存对象创建本身就是个相对较慢的过程。2. 应为 struct 对象重载所有 object 函数为了普适性,C# 的 struct 的默认 Equals() 、GetHashCode() 和 ToString() 都是较慢实现,甚至涉及反射。用户自定义的 struct ,都应...