设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2714|回复: 8
打印 上一主题 下一主题

[通用发布] 简易的释放内存脚本

[复制链接]

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
跳转到指定楼层
1
发表于 2014-4-12 11:00:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
主要是在界面切换的时候释放掉最吃内存的Bitmap==
  1. class Bitmap
  2.   alias clrram_init initialize unless defined? clrram_init
  3.   attr_reader :loaded_file
  4.   def initialize(*args)
  5.     @loaded_file = nil
  6.     if args[0].is_a?(String)
  7.       @loaded_file = args[0]
  8.     end
  9.     clrram_init(*args)
  10.   end
  11. end
  12. trace_var(:$scene){$__scene_changed = true}
  13. class << Graphics
  14.   alias clrram_freeze freeze unless defined? clrram_freeze
  15.   def freeze
  16.     clrram_freeze
  17.     if $__scene_changed
  18.       ObjectSpace.each_object(Bitmap) do |b|
  19.         b.dispose if !b.disposed? and b.loaded_file
  20.       end
  21.       $__scene_changed = false
  22.     end
  23.   end
  24. end
复制代码
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党

Lv1.梦旅人

梦石
0
星屑
50
在线时间
105 小时
注册时间
2013-2-7
帖子
82
2
发表于 2014-4-12 17:46:50 | 只看该作者
本帖最后由 jilei 于 2014-4-12 17:48 编辑

话说我放了三个同类型的脚本,一个防卡机,一个内存清理,还有一个就是你的,是不是太多了?
——————————————————————————————————————————————————————
主界面还看得到鼠标系统的鼠标,进入游戏后直接给清掉了。。。有待改进。。。

点评

。。。。。。好无力的回答  发表于 2014-4-13 08:25
本来就没说支持鼠标==  发表于 2014-4-12 23:46
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7921
在线时间
1049 小时
注册时间
2012-4-3
帖子
1271

开拓者

3
发表于 2014-4-13 04:35:23 手机端发表。 | 只看该作者
先赞一个。大地图因为吃内存的紧,有了清理确实减轻了不少负担。嗯……需要清理要打开菜单一次,不知道能结合转换场景来进行清理呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
439 小时
注册时间
2013-3-2
帖子
710
4
发表于 2014-4-13 12:39:38 | 只看该作者
怎么切换地图时会闪烁?

   
【RMXP共享】50个脚本整合的系统
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2014-3-2
帖子
35
5
发表于 2014-4-13 12:54:09 | 只看该作者
目测VA无效 不是用$scene控制场景的

评分

参与人数 1星屑 +10 收起 理由
taroxd + 10 我很赞同

查看全部评分

Request Time Out.
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

6
发表于 2014-4-13 17:19:04 | 只看该作者
本帖最后由 taroxd 于 2014-4-13 19:49 编辑

希望将来的RGSS能够自带这个功能~现在的RGSS3已经能自动释放场景里的窗口了,希望有朝一日可以彻底丢掉“dispose”啊~~

@喵呜喵5
我怕与默认脚本冲突,或者释放掉了Cache里的东西之类的……

点评

直接在scene_base里写一个呗?  发表于 2014-4-13 18:49
回复 支持 反对

使用道具 举报

Lv2.观梦者

故九江太守

梦石
0
星屑
612
在线时间
2167 小时
注册时间
2012-12-5
帖子
4464
7
发表于 2014-4-14 20:00:41 | 只看该作者
确定是无用的Bitmap吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

8
发表于 2014-4-14 20:17:32 | 只看该作者
不手动释放不舒服
不是说释放最吃内存的 Bitmap 吗,怎么没见有判断哪个最吃呢
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7921
在线时间
1049 小时
注册时间
2012-4-3
帖子
1271

开拓者

9
发表于 2014-5-31 10:38:38 手机端发表。 | 只看该作者
本帖最后由 Im剑侠客 于 2014-5-31 10:39 编辑

恕我冒昧请求,内存清理默认执行条件是$_scene_changed = true ,也就是说只要scene改变,便开始清理内存了。问题也就有了,在菜单操作的时候,本身不占用太多内存的,但是也要清理,显得多余啦!希望能在scene改变的条件的基础上加入另外的判定条件,让内存清理成为自在可控的操作。(纠结于此,不能自己。)
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 20:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表