V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
angry41
V2EX  ›  问与答

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

  •  
  •   angry41 · 2021-08-24 10:35:57 +08:00 · 870 次点击
    这是一个创建于 1216 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    4 条回复    2021-08-24 13:00:28 +08:00
    ysc3839
        1
    ysc3839  
       2021-08-24 10:40:46 +08:00
    > 内存清理软件的原理是啥
    把物理内存中的数据移到硬盘的页面文件里。
    angry41
        2
    angry41  
    OP
       2021-08-24 10:41:42 +08:00
    @ysc3839 是虚拟缓存区么?
    angry41
        3
    angry41  
    OP
       2021-08-24 10:45:11 +08:00
    查了一下卡死强退的异常代码是: 0x80000003
    ysc3839
        4
    ysc3839  
       2021-08-24 13:00:28 +08:00 via Android
    @angry41 不是,Windows 也称作虚拟内存。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4085 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:03 · PVG 09:03 · LAX 17:03 · JFK 20:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.