我们游戏在微信中打开,非常卡,而其他浏览器正常,经过研究终于找到了病因和解决方案.
病因:
安卓X5浏览器有canvas数量限制,硬件加速只支持前5个CANVAS,而coco2dx在代码初始化时就会创建5个以上的CANVAS,并且使用,导致主CANVAS无法获得加速,导致卡
腾讯官方关于canvas数量的回答:
canvas的数量是不是有限制?
回答;小于1G的内存, canvas的内存不能超过100M
1G到2G的内存, canvas的内存不能超过300M
大于2G的内存 canvas的内存不能超过500M
为了防止内存占用过多,硬件加速的CANVAS最多支持5个,小于等于1G内存手机,由于内存没办法精确统计,当达到75M以上,CANVAS数量最多支持20个 。
上面说的canvas内存,仅仅是说canvas 长宽计算出来的内存,不包括canavs使用的图片等资源内存
地址:http://bbs.mb.qq.com/thread-215666-1-1.html?fid=92
解决方案:
只要在coco2dx代码加载前,使用一次主canvas,让主canvas抢先获得加速效果,问题就解决了,代码:
