Egret社区

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

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

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

分享到 :
0 人收藏

12 个回复

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

我碰撞全部用距离判断  全屏的drawcall大概60左右浮动   但不知道安卓为啥这么卡   有时候还说此游戏导致微信变慢然后关闭了
shaoliufei  登堂入室 | 2019-4-16 10:36:03
碰撞检测可以不那么频繁,N(4-10)帧检测一下  
Hjx  圆转纯熟 | 2019-4-16 12:48:52
shaoliufei 发表于 2019-4-16 10:36
碰撞检测可以不那么频繁,N(4-10)帧检测一下

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

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

是的,每帧都检测很浩性能的,具体几针检测一次,你可以调试找个合适的帧检测
lucasgo24601  登堂入室 | 2019-4-16 14:54:14
本帖最后由 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  圆转纯熟 | 2019-4-16 15:18:56
lucasgo24601 发表于 2019-4-16 14:54
建議代碼邏輯從最簡單的

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

代码应该没什么问题  就是安卓1000多的手机卡死fps20-30
Hjx  圆转纯熟 | 2019-4-16 15:21:47
lucasgo24601 发表于 2019-4-16 14:54
建議代碼邏輯從最簡單的

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

我用的是forin
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

返回顶部