关于 win-pc 内存清理的原理请教

2021-08-24 10:35:57 +08:00
 angry41

本人用的是 gpdwin3-i71165g7-16g 掌机电脑,在玩荒野大镖客 2 的时候,把纹理细节开到最高,在复杂场景会导致卡死闪退。

通过监控发现原因并不是核显的问题,而是因为核显的显存是共享内存的,显存占用过高,导致内存不足,当内存占用到 99%时都没有触发 win 系统自动清理内存,从而内存耗尽卡死闪退。

我能想到的解决办法就是,后台挂一个内存清理的软件,当内存总占用(内存+显存)达到 85%时,触发清理内存。

结果:内存清理时,cpu 负载上升,但游戏并未瞬间卡顿,当内存降下来之后游戏也未有不良影响。

疑问:1 、为啥不会触发系统自己的内存清理机制,直到卡死。2 、内存清理软件的原理是啥,为啥可以将内存占用从 85+%降到 50+%而不影响前台运行的程序。

注:上方截图是地铁上玩的,因为续航原因未开最大功耗运行

870 次点击
所在节点    问与答
4 条回复
ysc3839
2021-08-24 10:40:46 +08:00
> 内存清理软件的原理是啥
把物理内存中的数据移到硬盘的页面文件里。
angry41
2021-08-24 10:41:42 +08:00
@ysc3839 是虚拟缓存区么?
angry41
2021-08-24 10:45:11 +08:00
查了一下卡死强退的异常代码是: 0x80000003
ysc3839
2021-08-24 13:00:28 +08:00
@angry41 不是,Windows 也称作虚拟内存。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/797640

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX