Egret社区

小游戏部分机器掉帧很严重

2019-4-15 14:04
20112
10银子
本帖最后由 Hjx 于 2019-4-16 12:57 编辑

我有用到帧动画缩放,并且用来60帧来判断碰撞 跟物品的碰撞 物品全部都用了对象池   
全屏的drawcall大概60左右浮动  
但不知道安卓为啥这么卡   有时候还说此游戏导致微信变慢然后关闭了

分享到 :
0 人收藏

12 个回复

倒序浏览
yung  初窥堂奥 | 2019-4-15 17:50:40
详细说说,这太通俗了。
Hjx  圆转纯熟 | 7 天前
yung 发表于 2019-4-15 17:50
详细说说,这太通俗了。

我碰撞全部用距离判断  全屏的drawcall大概60左右浮动   但不知道安卓为啥这么卡   有时候还说此游戏导致微信变慢然后关闭了
syk123  登堂入室 | 7 天前
Hjx 发表于 2019-4-16 09:19
我碰撞全部用距离判断  全屏的drawcall大概60左右浮动   但不知道安卓为啥这么卡   有时候还说此游戏导致 ...

我这边碰到卡顿情况应该就3种,webgl是可以支持drawcall过百的,要么开放域,要么mask多,要么就是代码逻辑问题导致的内存问题,这种应该是越玩越卡,前面两个是一开始就会卡
shaoliufei  登堂入室 | 7 天前
碰撞检测可以不那么频繁,N(4-10)帧检测一下  
Hjx  圆转纯熟 | 7 天前
shaoliufei 发表于 2019-4-16 10:36
碰撞检测可以不那么频繁,N(4-10)帧检测一下

就不用60帧每次都检测?
Hjx  圆转纯熟 | 7 天前
syk123 发表于 2019-4-16 09:52
我这边碰到卡顿情况应该就3种,webgl是可以支持drawcall过百的,要么开放域,要么mask多,要么就是代码逻 ...

没过百  也没mask  逻辑应该也没事- - 我都是用位置距离判断的
shaoliufei  登堂入室 | 7 天前
Hjx 发表于 2019-4-16 12:48
就不用60帧每次都检测?

是的,每帧都检测很浩性能的,具体几针检测一次,你可以调试找个合适的帧检测
lucasgo24601  登堂入室 | 7 天前
本帖最后由 lucasgo24601 于 2019-4-16 14:56 编辑

建議代碼邏輯從最簡單的

for(var i = 0 ; i < this.temArray.length ; i++)  
修改為
var _len = this.temArray.length
for(var i = 0 ; i < _len  ; i++)  

這種 this寫法,JS頻繁呼叫this 效能會變差 ,因為會尋訪this內
Hjx  圆转纯熟 | 7 天前
lucasgo24601 发表于 2019-4-16 14:54
建議代碼邏輯從最簡單的

for(var i = 0 ; i < this.temArray.length ; i++)  

代码应该没什么问题  就是安卓1000多的手机卡死fps20-30
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2019 Comsenz Inc.

返回顶部