查看: 3005|回复: 7

远景图内存不释放的问题…

  [复制链接]
梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
回帖
780
发表于 2007-4-5 03:41:52 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
用的双远景图脚本
玩时间长了就会卡

用任务管理器查看内存发现
每次切换新地图的时候内存占用都会明显提高
似乎没有被释放掉?
我看脚本里面用的高速缓存,上次用的CP条也出现过相关问题
不知道是不是高速缓存没有把以前的远景图释放掉,导致内存占用逐渐增大的?
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)

试了下貌似不动脚本 原来的单远景图也有类似问题
不过只用了几张地图试了一下,有观察到内存上升但是不下降,不过地图不多,最大也没有过100M 不知道是不是真的是这个问题
梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
回帖
780
发表于 2007-4-5 03:41:52 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
用的双远景图脚本
玩时间长了就会卡

用任务管理器查看内存发现
每次切换新地图的时候内存占用都会明显提高
似乎没有被释放掉?
我看脚本里面用的高速缓存,上次用的CP条也出现过相关问题
不知道是不是高速缓存没有把以前的远景图释放掉,导致内存占用逐渐增大的?
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)

试了下貌似不动脚本 原来的单远景图也有类似问题
不过只用了几张地图试了一下,有观察到内存上升但是不下降,不过地图不多,最大也没有过100M 不知道是不是真的是这个问题

蝦米

梦石
0
星屑
130
在线时间
280 小时
注册时间
2006-7-5
回帖
553
发表于 2007-4-5 04:29:20 | 显示全部楼层
RM对内存的管理本来就不怎么好……
我一般来说玩0.5H~1H就要重新进入一次的
虾米的小站:
http://www.jhdxr.com
回复

使用道具 举报

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2007-4-5 05:47:09 | 显示全部楼层
高速缓存就是载入一次后不释放存储起来,以后重复调用同名资源时,直接调用引用,而不需要重新载入,依次提高速度.
纵然千里外,我等雁归来。
回复

使用道具 举报

梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
回帖
780
 楼主| 发表于 2007-4-5 07:53:55 | 显示全部楼层
所以在256的条子的机子上显得格外的卡
多的时候能到200M
而且我那个CP条系统(挨打减CP的)使得战斗也比较卡
一个华丽的全体攻击动画能一下子爆40多M的内存占用{/gg}
要是内存不够貌似会卡死陷入死循环…
回复

使用道具 举报

Dancer-

梦石
0
星屑
55
在线时间
76 小时
注册时间
2006-11-9
回帖
3442

开拓者贵宾

发表于 2007-4-6 20:57:47 | 显示全部楼层
移动到技术区
回复

使用道具 举报

头像被屏蔽

苹果梨

梦石
0
星屑
43
在线时间
6 小时
注册时间
2007-2-14
回帖
674
发表于 2007-4-8 00:42:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
回帖
780
 楼主| 发表于 2007-4-8 01:24:13 | 显示全部楼层
把那个击退CP条的改了一下
r是在数据库里面设置的击退CP的数量

  1.          if r > 0
  2.           for i in 1..8
  3.             Graphics.update
  4.             Input.update
  5.             update
  6.             target.cp -= 62*r
  7.             @battler_cp.ttbar[target].x = [514*target.cp/ 65535 + 45,45].max
  8.           end
  9.           end
复制代码


原来的是

  1.          if r > 0
  2.           for i in 1..r
  3.             Graphics.update
  4.             Input.update
  5.             update
  6.             target.cp -= 500
  7.             @battler_cp.ttbar[target].x = [514*target.cp/ 65535 + 45,45].max
  8.           end
  9.           end
复制代码


          for i in 1..r
这个里面似乎r大到一定程度就会死循环,就是攻击动画循环播放无法继续下一步…
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部