博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Egret的一些性能优化
阅读量:4704 次
发布时间:2019-06-10

本文共 1477 字,大约阅读时间需要 4 分钟。

Egret的性能优化不知道在哪里啊,主要参考,都差不多

 

一、性能统计面板

index.html页面设置data-show-fps=true打开性能面板

 

 

 Egret没有内存占用查看,F12浏览器中Memory查看内存占用

 

 二、内存优化

1.对象池

减少了实例化对象时的开销,且能让对象反复使用,减少了新内存分配与垃圾回收器运行的机会

用了对象池后将减少程序的垃圾对象,有效的提高程序的运行速度和稳定性

还是laya的精简...

/***

Pool 是对象池类,用于对象的存贮、重复使用。

*

合理使用对象池,可以有效减少对象创建的开销,避免频繁的垃圾回收,从而优化游戏流畅度。

*///class laya.utils.Poolvar Pool=(function(){ function Pool(){} __class(Pool,'laya.utils.Pool'); Pool.getPoolBySign=function(sign){ return Pool._poolDic[sign] || (Pool._poolDic[sign]=[]); } Pool.clearBySign=function(sign){ if (Pool._poolDic[sign])Pool._poolDic[sign].length=0; } Pool.recover=function(sign,item){ if (item["__InPool"])return; item["__InPool"]=true; Pool.getPoolBySign(sign).push(item); } Pool.getItemByClass=function(sign,cls){ var pool=Pool.getPoolBySign(sign); var rst=pool.length ? pool.pop():new cls(); rst["__InPool"]=false; return rst; } Pool.getItemByCreateFun=function(sign,createFun){ var pool=Pool.getPoolBySign(sign); var rst=pool.length ? pool.pop():createFun(); rst["__InPool"]=false; return rst; } Pool.getItem=function(sign){ var pool=Pool.getPoolBySign(sign); var rst=pool.length ? pool.pop():null; if (rst){ rst["__InPool"]=false; } return rst; } Pool._poolDic={}; Pool.InPoolSign="__InPool"; return Pool;})()

 

关于对象池对于效率有多少提高,没有实测,得根据实例化和销毁对象的性能消耗来判定。

 

三、垃圾回收、资源卸载、释放内存

垃圾回收方式:标记清除、引用计数

垃圾回收时间:固定间隔、上限

游戏中除了常用的事件监听的移除、对象引用设置为null等等,对于资源加载使用后,也要即时卸载。

 

四、渲染优化

1. drawcall

 

 

吃饭去了,待编辑...

 

转载于:https://www.cnblogs.com/gamedaybyday/p/9095545.html

你可能感兴趣的文章
我的Cocos2d-x学习笔记(二)AppDelegate补充介绍
查看>>
java获取中文拼音首字母工具类
查看>>
HDU 1729 Stone Game【SG函数】
查看>>
如何使用Vue实现拖拽效果pageY、screenY、clientY、layerY、offsetY(转)
查看>>
[Bzoj1009][HNOI2008]GT考试(KMP)(矩乘优化DP)
查看>>
由于无法验证发布者 所以windows阻止此软件
查看>>
又是一道水的逆向思维题
查看>>
Linux内核分析— —操作系统是如何工作的(20135213林涵锦)
查看>>
圆角效果
查看>>
还原AdventureWorks2008示例数据库遇到的问题
查看>>
Java学习笔记--集合
查看>>
控件置顶[置顶] Android常用UI控件之ProgressBar
查看>>
FPGA 相同模块 VIVADO synthesis综合后
查看>>
Python 常用库(随时补充)
查看>>
android中如何获取xml界面里的非自定义属性
查看>>
vmware错误汇总
查看>>
[转载]H3C S3600 DHCP-SERVER 配置【原创】
查看>>
创建一个名为User的类
查看>>
Java Web-----JSP与Servlet(一)
查看>>
Java递归应用
查看>>