铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2399|回复: 7

[lua复刻] 问下出现这种问题是和哪些函数有关?怎么样能避免呢?

[复制链接]
发表于 2013-8-16 15:03 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
http://www.txdx.net/thread-712370-1-1.html


我对
lib.saveSur
lib.loadSur
lib.freeSur
的用法不行

和别的函数有关吗
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-8-16 17:16 | 显示全部楼层
链接中你的情况,是在重画字串前没有清屏。

这3个函数从名字看是为了将图片载入,目的是快速绘图。如果忘记free,会造成内存泄露,但是与花屏关系不大。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-8-16 18:37 | 显示全部楼层
weyl 发表于 2013-8-16 17:16
链接中你的情况,是在重画字串前没有清屏。

这3个函数从名字看是为了将图片载入,目的是快速绘图。如果 ...

我认为就是这个函数引起的。

你可以尝试一下这个, 在DIY.lua中 增加这样的代码

for i=1, 20 do
   lib.FreeSur(i);
end


当你花屏的时候,通过我的代码功能去执行这个代码, 然后再看看效果,是否花屏

点评

感谢蓝大!这行代码有用,夹在什么地方让它固定时间触发就行了!  发表于 2013-8-16 19:36
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-8-19 08:59 | 显示全部楼层
个人意见是扩大缓存数目,源码中似乎是20个,扩大成100个似乎就没事了。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-8-19 09:26 | 显示全部楼层
没有及时free,再多都无用。
可以考虑超出上限时,自动全部free,而不是现在这样返回-1了事
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-8-19 10:38 | 显示全部楼层
KA 发表于 2013-8-19 08:59
个人意见是扩大缓存数目,源码中似乎是20个,扩大成100个似乎就没事了。

亲,目前通常只用到一个,最多不超三个,您说要这个多干啥子。

主要还是代码的问题吧

没有调用lib.FreeSur 就直接函数返回了, 这是个无限泄漏啊
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-8-19 14:36 | 显示全部楼层
蓝烟清 发表于 2013-8-19 10:38
亲,目前通常只用到一个,最多不超三个,您说要这个多干啥子。

主要还是代码的问题吧

哦这份代码确实木有看过,俺猜测可能是当到了20个上限时会不会就不释放了。
啊蓝大大威武。
027大大威武。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-5-3 21:51

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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