赞 | 27 |
VIP | 400 |
好人卡 | 13 |
积分 | 17 |
经验 | 69730 |
最后登录 | 2023-6-12 |
在线时间 | 3038 小时 |
Lv3.寻梦者 (暗夜天使) 精灵族の天使
- 梦石
- 0
- 星屑
- 1697
- 在线时间
- 3038 小时
- 注册时间
- 2007-3-16
- 帖子
- 33731
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 精灵使者 于 2013-5-26 21:35 编辑
以前夏娜的10s脚本使用线程的创意启发而来
最近发现RM游戏会占用越来越高的内存。
使用线程原理,定期使用GC.start来清理内存,可以有效的解决吃内存现象。
使用方法:直接插入脚本最上面即可
更新日志:
2011年11月21日 发布原版
参数说明:
GC_FREQ = 1 #清理内存的频率(如果卡机,请调大清理频率,默认1秒整理1次)
GC_TRANSITION = true #场景变换的时候是否立即清理(推荐开启,转移的时候清理掉上次地图的内容,减少卡机)- ############################################################################
- # RM内存自动清理脚本(XP&VX) v 1.00
- # 作者:精灵使者 创意:夏娜 各种压力的猫君
- # 按惯例,此类脚本应该放在最上面,就会自动工作。
- # 使用方法:直接插入脚本的最上面即可
- # 如果感觉卡机,请修改GC_FREQ
- ############################################################################
- #--------------------------------------------------------------------------
- # ● 设定部分
- #--------------------------------------------------------------------------
- module GC_CLEAR
- GC_FREQ = 1 #清理内存的频率(如果卡机,请调大清理频率,默认1秒整理1次)
- GC_TRANSITION = true #场景变换的时候是否立即清理,默认开启
- end
- #--------------------------------------------------------------------------
- # ● 创建自动清理线程
- #--------------------------------------------------------------------------
- @gc_thread = Thread.new{loop{GC.start;sleep(GC_CLEAR::GC_FREQ)}} if @gc_thread.nil?
- #--------------------------------------------------------------------------
- # ● 场景变换时清理部分
- #--------------------------------------------------------------------------
- class << Graphics
- alias origin_transition transition unless method_defined? :origin_transition
- alias origin_freeze freeze unless method_defined? :origin_freeze
- def transition(*args)
- origin_transition(*args)
- GC.start if GC_CLEAR::GC_TRANSITION
- end
- def freeze
- origin_freeze
- GC.start if GC_CLEAR::GC_TRANSITION
- end
- end
复制代码 |
|