lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7494|回复: 5

重新对dom进行LInit时,FPS翻倍

[复制链接]

3

主题

1

好友

65

积分

士兵

Rank: 1

发表于 2017-7-11 23:44:14 |显示全部楼层
DEMO
http://jsbin.com/cawujoxebo/1/edit

添加一个DOM节点并初始化lufylegend,然后移出这个DOM节点,再添加并初始化后FPS会翻倍,貌似是我移出节点的时候,之前lufylegend初始化的对象没有进行移出。
回复

使用道具 举报

46

主题

3

好友

1866

积分

偏将军

Rank: 4

发表于 2017-7-12 16:43:45 |显示全部楼层
是这样的。在移除DOM节点前,删除所有对象就可以了。
回复

使用道具 举报

3

主题

1

好友

65

积分

士兵

Rank: 1

发表于 2017-7-12 17:28:45 |显示全部楼层
本帖最后由 aaron 于 2017-7-12 17:31 编辑
yorhomwang 发表于 2017-7-12 16:43
是这样的。在移除DOM节点前,删除所有对象就可以了。


remove方法进行移除吗?
移除之后还是会出现这个问题
demo
http://jsbin.com/butewozamo/1/edit?html,output
回复

使用道具 举报

37

主题

8

好友

9305

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

发表于 2017-7-13 10:26:28 |显示全部楼层
aaron 发表于 2017-7-12 17:28
remove方法进行移除吗?
移除之后还是会出现这个问题
demo

这是引擎代码
https://github.com/lufylegend/lu ... ction.js#L447-#L484

LInit每调用一次,就会多加一个setInterval,所以FPS加倍
也就是说初始化只能执行一次,
一定要多次,那可以自己清理一下setInterval再重新初始化,
提示:LGlobal.frameRate = setInterval

不过,完全没必要移除DOM吧,只是把问题复杂化而已
不回答与技术和引擎不相关的问题
回复

使用道具 举报

46

主题

3

好友

1866

积分

偏将军

Rank: 4

发表于 2017-7-13 10:42:05 |显示全部楼层
aaron 发表于 2017-7-12 17:28
remove方法进行移除吗?
移除之后还是会出现这个问题
demo

尴尬……你说的是FPS,我想成了对象个数
回复

使用道具 举报

37

主题

8

好友

9305

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

发表于 2017-7-13 11:07:05 |显示全部楼层
yorhomwang 发表于 2017-7-13 10:42
尴尬……你说的是FPS,我想成了对象个数

虽然答非所问,但是说的并没有错,对象也必须清空,已经加到引擎中的对象不会因为重新初始化canvas就没有了
不回答与技术和引擎不相关的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-3-29 16:33 , Processed in 0.053276 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部