《天下3》官方论坛
标题:
关于内存不足
[打印本页]
作者:
Mr丶科少
时间:
2020-6-2 01:04
标题:
关于内存不足
目前关于内存不足的原因,众说纷纭,我个人支持是因为32位构架,内存分配不能超过3.5G所致,因为楼主也是被内存不足长期困扰,进行了多平台,多条件测试,下面就来一一道来。
首先,内存不足可以肯定基本排除是因为电脑本身内存不够,因为在其他游戏多开条件下,内存占用100%以上了,除了卡得像PPT一样,但是并没有报内存不足错误。这个原因我们先排除。
那么内存不足出现在什么时候,经测试,在单客户端内存占用3.2G到3.4G这个阶段就会报内存不足错误了。
这里红圈内就是单个客户端占用内存大小,这个截图取自5开挂机79经验本出本后。可以看到内存占用已经达到2.1G左右了,需要注意一旦内存占用达到3.2G就已经处于警告阶段了。
那么导致内存占用内存变大的因素有哪些呢。
1、内存占用是随着使用时间增加而增加的,挂机时间越长,占用就会一直增加。
2、特效开的越多内存占用上升的越快,这也是某些顶级配置内存不足的一个主要因素。打架时候虽然是屏蔽了,但是这个游戏屏蔽机制并不能完全屏蔽的。内存占用上升也快。
3、窗口大小,经测试这个是最影响内存占用的,论坛很多人说没有遇到内存不足,那是因为窗口越小占用越低,测试中在部分win10系统小窗口下内存占用单个只有600M多一点,因为600M占用距离3.5G上限太远了,即使挂机很久也不会内存不足,多数玩家都是窗口全屏,这样登录游戏单个客户端都1.8个G内存占用,随着不断的增加,就内存不足了。然后2K。4k分辨率下占用更多。
4、多开,这个并不影响,内存报错一般都是单个窗口内存报错,连续报错说明,多个窗口都达到了内存占用上限。
然后我们说下测试下论坛现有解决办法。
1、设置虚拟内存。很遗憾这个方法并不能解决内存不足的报错,现在大多数电脑都是内存8G起,本身能利用的内存就有7个多G,而客户端占用内存一旦超过3.4就直接报错了,你设置的这部分虚拟内存根本就用不到,测试中,E5 2680V2 64G设置了256G的虚拟内存,但是在客户端内存占用在3.3G时候,报错内存不足了。所以虚拟内存并不能解决天下3这个内存报错,相对的,在其他游戏内存占用过大时候是能分配部分内存的。所以方法没错,只是不实用这个游戏。
2、加内存这这个就不用说了,肯定一样的。更换频率更高的内存条,这个频率除了增加反应速度,也跟内存不足没关系,硬件方面基本不用动。能玩就是没问题,不能玩就是卡而已。
3、贰模式和极简模式,测试中这两模式,内存占用的确是有所下降,并且内存占用上升的慢,虽然如此内存占用达到了3.4G还是报错了,所以这个方法只能指标也不能治本。并且那个界面一个丑啊,完全不符合现在大荒奇迹暖暖的设定,至少我不习惯。
好了,分析了这么多,解决方法呢。很遗憾没有彻底解决的方法,楼主也是各种情况也碰到过,方法也试过。总结下。影响内存占用因素 窗口大小>技能特效>客户端使用时间。目前只能从这几个因素来灵活操作,当你的客户端占用达到3.2G以后就会出现各种问题了。无技能特效,某些界面比如地图,任务栏打不开,过图加载特别缓慢,界面很卡,这些都是即将内存不足报错前兆了,可以考虑重新开启窗口。特别注意,此时小退是没用的。并不会降低已经占用的内存。建议在内存占用达到3.0G时候开窗口备用。下59饕餮前,先观察内存占用情况如果已经3.0G了就大退下。
然后下面是一些本人的愚见,如果有错请原谅。问题并不出在32位的构架,好多游戏都是32位构架都运行的好好的。问题出在一旦正常游戏,内存会随着使用占用一直上升,直到报错。为什么会这样呢,程序本身不去整理,释放内存,占用达到极限就内存溢出报错了。作为持有开发源代码的开发组,完全可以分析下,传图加载的过程中,结束点某些用不到的进程来释放内存,再次使用就重新开启进程。对于开发组的码农来说也就是几个if然后kill的事而已。
好了,就这么多,测试的截图一堆堆也没传,本来打算做曲线图,太麻烦,还是算了。说错了请原谅,如喷,请轻喷。
作者:
Mr丶科少
时间:
2020-6-2 01:05
一楼祭天,法力无边。
作者:
月下飞天
时间:
2020-6-2 06:05
确实,程序缺少主动清理进程的布置,估计现在的开发组已经看不懂源码了
作者:
鱼跃彼岸海
时间:
2020-6-2 07:21
这么说,就一目了然了,给大神点赞
作者:
风毛毛
时间:
2020-6-2 07:44
现在是要玩一段时间开另一个客户端顶号
作者:
血染四海
时间:
2020-6-2 07:57
天下有合格秃头的程序员了嘛?
作者:
dengjiyong
时间:
2020-6-2 08:10
这游戏从最初写代码,到现在,20年应该是有的,要从一段编写了20年的源代码中从最低底层修改,还不如重写算了
作者:
喋血孤城
时间:
2020-6-2 08:57
膜拜大神 讲的深出浅入,简单易懂。开发者的不作为,玩家背锅
作者:
姜沉鱼丶
时间:
2020-6-2 09:10
技术贴
作者:
八善妙法
时间:
2020-6-2 09:11
原来如此。我就说嘛。为什么论坛有些人老说自己没有遇见内存不足,居然是因为窗口大小。我全屏2k单开经常内存不足,看了楼主帖子大概知道内存不足的临界点了。至少能提前处理。点个赞。
作者:
王球球丶
时间:
2020-6-2 09:42
喋血孤城 发表于 2020-6-2 08:57
膜拜大神 讲的深出浅入,简单易懂。开发者的不作为,玩家背锅
是深入浅出啦…
作者:
秋月爱莉的爸爸
时间:
2020-6-2 09:53
可以可以,给楼主点赞,下次提钱换客户端了~
作者:
武易穆
时间:
2020-6-2 09:57
本帖最后由 武易穆 于 2020-6-2 10:01 编辑
第一:KFZ有没有源代码???感觉没有了第二:即使有源代码,KFZ还有工程师可以看的懂吗???
第三:即使有工程师,有源代码,会愿意去改吗?感觉他们已经懒得动了....
这种内存释放的技术都是很早以前的技术了,每家游戏公司都有自己的游戏引擎或者框架,只是用不用上去罢了
这个游戏已经经过几次工作室的迭代了,都是打补丁的形式缝缝补补的在玩,估计他们也不能保证做了这样的技术之后游戏能否正常运行了,权衡一下,还是保持现状吧,风险最小。也就是吃定了玩家会继续忍受这个。
个人意见,非喜勿喷。
作者:
辰諷灬
时间:
2020-6-2 10:05
好帖,技术贴,帮顶!!!
作者:
数不尽相逢
时间:
2020-6-2 10:33
好贴顶一个
作者:
若小白
时间:
2020-6-2 10:46
好贴顶一个
作者:
雨丶后
时间:
2020-6-2 11:05
都是一帮211 985的二笔人才
作者:
逝水钓帝女
时间:
2020-6-2 11:18
归纳一下可以适当改善的方法:
1、尽量不要用2k及以上分辨率的显示器
2、技能特效之外的其他东西不要开,喜欢美的就要忍受多掉线
3、能win7尽量win7,哪怕老机器也行,不会比新的高配置体验差,毕竟相比fps低一点,频繁掉线更让人恶心。
作者:
凌丶月舞
时间:
2020-6-2 11:27
666 太厉害了 终于知道暂时应该怎么解决了
作者:
戒不掉煙
时间:
2020-6-2 11:55
这一定是假的 我天下暖暖3 怎么会有这种奇怪的设定!?我不听我不听
作者:
八善妙法
时间:
2020-6-2 12:42
可惜。我不习惯小窗口。还在内存不足的死亡线上挣扎。
作者:
Mr丶科少
时间:
2020-6-2 13:26
人工置顶。
作者:
又有右逝
时间:
2020-6-2 13:28
天下确实需要换一波游戏引擎了
作者:
fengche1991
时间:
2020-6-2 13:47
确实小窗口不容易报错。。。偶尔也会闪退、内存不足的,大概率是内存占用3g以上出现报错
作者:
瞋恚丶
时间:
2020-6-2 14:17
每次更新都是加东西,从来不见清理,游戏越来越大,有些删了的项目 客户端里面没删吧
作者:
袈裟披身
时间:
2020-6-2 14:31
现在的开发,每天就这知道把新视频、陆晨、时装、特效装进去。
我估计按照现在的开发水平,还是楼主帮他们找到的内存不足的原因,他们自己压根测试都不会测试。
现在哪怕找出来了,一帮战力5渣的程序员,会改就有鬼了。
作者:
相爱
时间:
2020-6-2 14:56
游戏的内存释放技术并不难,主要是开发人员换了好几批了。估计现在的根本看不懂以前写的东西了。。。
作者:
sun0825
时间:
2020-6-2 15:04
内存这个问题 我前段时间 就发现了
所以我一直窗口最小化 下59 必须先重启个游戏
都是被逼出来了的。。。可怜我一个电脑小白 还懂了这么多小技巧
作者:
好萌萌萌萌哒
时间:
2020-6-2 15:20
好贴。学到了
作者:
武易穆
时间:
2020-6-2 15:22
都醒醒吧,如果要解决内存不足的唯一解决办法是找到技术大牛,一点一点梳理整个源代码,然后重新写代码。但是问题是后续更新的都是刚毕业的大学生做了简单的加法,再牛逼的人也不能一下子看出来这个是否可以删掉,除非花大价钱重新做那就是重新开发了,显然是不可能的。所以,默默忍受内存不足吧...直到你AFK了,这个问题也是无解的。
作者:
武易穆
时间:
2020-6-2 15:26
大家还可以看一下游戏的发展历程,游戏本来就是收购过来的,所以对源代码的理解本来就是不足的,所以回想一下针对08年的硬件代码能坚持的今天也还是很牛逼的...毕竟那会64位才刚开始普及
作者:
武易穆
时间:
2020-6-2 15:28
大家还可以看一下游戏的发展历程,游戏本来就是收购过来的,所以对源代码的理解本来就是不足的,所以回想一下针对08年的硬件代码能坚持的今天也还是很牛逼的...毕竟那会64位才刚开始普及
作者:
八善妙法
时间:
2020-6-2 19:14
好多游戏都还是64位
作者:
夺命逍遥乄
时间:
2020-6-2 19:36
开发组:看了楼主的帖子,我们简单回答一下解决办法里的第三条。感谢楼主对我们时装的肯定,我们会继续推进天下暖暖的进程,目前,我们借助12周年庆,加速推出各种消费返还和各种时装坐骑。好了,我回答完楼主的技术贴了,今天又是一个和玩家做了深入交流的一天。
作者:
旧旧那个光光
时间:
2020-6-2 19:42
膜拜大神
作者:
cyidus1991
时间:
2020-6-2 20:09
打卡学习了
作者:
Mr丶科少
时间:
2020-6-3 00:02
击杀特效的更新。让本来就经常报错的我。雪上加霜。
作者:
Mr丶科少
时间:
2020-6-6 03:41
顶起来。
作者:
月映城倾
时间:
2020-6-6 04:15
顶顶顶!!!
欢迎光临 《天下3》官方论坛 (https://tx3.netease.com/)
Powered by Discuz! X3.3