Project1
标题:
简易的释放内存脚本
[打印本页]
作者:
英顺的马甲
时间:
2014-4-12 11:00
标题:
简易的释放内存脚本
主要是在界面切换的时候释放掉最吃内存的Bitmap==
class Bitmap
alias clrram_init initialize unless defined? clrram_init
attr_reader :loaded_file
def initialize(*args)
@loaded_file = nil
if args[0].is_a?(String)
@loaded_file = args[0]
end
clrram_init(*args)
end
end
trace_var(:$scene){$__scene_changed = true}
class << Graphics
alias clrram_freeze freeze unless defined? clrram_freeze
def freeze
clrram_freeze
if $__scene_changed
ObjectSpace.each_object(Bitmap) do |b|
b.dispose if !b.disposed? and b.loaded_file
end
$__scene_changed = false
end
end
end
复制代码
作者:
jilei
时间:
2014-4-12 17:46
本帖最后由 jilei 于 2014-4-12 17:48 编辑
话说我放了三个同类型的脚本,一个防卡机,一个内存清理,还有一个就是你的,是不是太多了?
——————————————————————————————————————————————————————
主界面还看得到鼠标系统的鼠标,进入游戏后直接给清掉了。。。有待改进。。。
作者:
Im剑侠客
时间:
2014-4-13 04:35
先赞一个。大地图因为吃内存的紧,有了清理确实减轻了不少负担。嗯……需要清理要打开菜单一次,不知道能结合转换场景来进行清理呢?
作者:
guoyq1988
时间:
2014-4-13 12:39
怎么切换地图时会闪烁?
作者:
影月千秋
时间:
2014-4-13 12:54
目测VA无效 不是用$scene控制场景的
作者:
taroxd
时间:
2014-4-13 17:19
本帖最后由 taroxd 于 2014-4-13 19:49 编辑
希望将来的RGSS能够自带这个功能~现在的RGSS3已经能自动释放场景里的窗口了,希望有朝一日可以彻底丢掉“dispose”啊~~
@喵呜喵5
我怕与默认脚本冲突,或者释放掉了Cache里的东西之类的……
作者:
你最珍贵
时间:
2014-4-14 20:00
确定是无用的Bitmap吗?
作者:
Sion
时间:
2014-4-14 20:17
不手动释放不舒服
不是说释放最吃内存的 Bitmap 吗,怎么没见有判断哪个最吃呢
作者:
Im剑侠客
时间:
2014-5-31 10:38
本帖最后由 Im剑侠客 于 2014-5-31 10:39 编辑
恕我冒昧请求,内存清理默认执行条件是$_scene_changed = true ,也就是说只要scene改变,便开始清理内存了。问题也就有了,在菜单操作的时候,本身不占用太多内存的,但是也要清理,显得多余啦!希望能在scene改变的条件的基础上加入另外的判定条件,让内存清理成为自在可控的操作。(纠结于此,不能自己。)
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1