Project1
标题:
请问有什么办法可以突破RGB的图片大小限制吗?
[打印本页]
作者:
狐狸精竹琪
时间:
2023-11-6 17:42
标题:
请问有什么办法可以突破RGB的图片大小限制吗?
请问有什么办法可以突破RGB的图片大小限制吗?因为现在在进行游戏的时候,有时候会读取不到大型图片然后闪退。但是再一次读取又好了。
所以想询问一些有没有什么办法可以让游戏能正常运行呢?
差分图片是最后不得已的手段了,因为有好多区域都用了大图片。
作者:
喵呜喵5
时间:
2023-11-6 21:27
本帖最后由 喵呜喵5 于 2023-11-7 10:47 编辑
查一下RM的内存占用情况,按我自己的经验这种状况一版是大图加载过多把内存爆了
RM为了加速图片的读取,所有已经加载过的图片都会存在缓存里(并且不会去清理),因此游戏长时间运行时占用的内存会越来越大,大到继续加载下一张图片失败时游戏就崩了
class << Cache
alias m5_20231106_normal_bitmap normal_bitmap
def normal_bitmap(path)
m5_20231106_normal_bitmap(path)
if path.start_with?("Graphics/Pictures/")
@m5_20231106_cache ||= {}
@m5_20231106_cache[path] = true
end
@cache[path]
end
def m5_20231106_clear
@m5_20231106_cache ||= {}
@m5_20231106_cache.keys.each do |key|
@cache[key].dispose
@cache[key] = nil
end
@m5_20231106_cache.clear
GC.start
end
end
复制代码
你可以插入这段脚本,然后挑选合适的时机(例如游戏每个章节结束后)在事件脚本中执行 Cache.m5_20231106_clear ,它会把加载到内存中的所有 Graphics/Pictures/ 目录下已经加载过的文件的缓存都清空,防止爆内存
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1