赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 10095 |
最后登录 | 2014-8-13 |
在线时间 | 327 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 327 小时
- 注册时间
- 2011-3-2
- 帖子
- 287
|
相对与创建对象,计算数值等操作,文件读取的耗时要高上n个数量级。所有报告释放魔法之前卡的,都是因为那时候程序在读取动画文件。测试中连续播放多个动画,肯定也不止一个图片,所以才会卡的不行。尝试把sprite_base中释放图片的语句注释掉,除了第一次释放会卡之外,以后就一点不卡了。当然这是以占用内存为代价的。- #--------------------------------------------------------------------------
- # * Free Animation
- #--------------------------------------------------------------------------
- def dispose_animation
- if @ani_bitmap1
- @@_reference_count[@ani_bitmap1] -= 1
- if @@_reference_count[@ani_bitmap1] == 0
- #@ani_bitmap1.dispose
- end
- end
- if @ani_bitmap2
- @@_reference_count[@ani_bitmap2] -= 1
- if @@_reference_count[@ani_bitmap2] == 0
- #@ani_bitmap2.dispose
- end
- end
- if @ani_sprites
- @ani_sprites.each {|sprite| sprite.dispose }
- @ani_sprites = nil
- @animation = nil
- end
- @ani_bitmap1 = nil
- @ani_bitmap2 = nil
- end
复制代码 |
|