angry41
V2EX  ›  问与答

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

  •  
  •   angry41 · Aug 24, 2021 · 1242 views
    This topic created in 1753 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

    4 replies    2021-08-24 13:00:28 +08:00
    ysc3839
        1
    ysc3839  
       Aug 24, 2021
    > 内存清理软件的原理是啥
    把物理内存中的数据移到硬盘的页面文件里。
    angry41
        2
    angry41  
    OP
       Aug 24, 2021
    @ysc3839 是虚拟缓存区么?
    angry41
        3
    angry41  
    OP
       Aug 24, 2021
    查了一下卡死强退的异常代码是: 0x80000003
    ysc3839
        4
    ysc3839  
       Aug 24, 2021 via Android
    @angry41 不是,Windows 也称作虚拟内存。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1411 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:06 · PVG 01:06 · LAX 10:06 · JFK 13:06
    ♥ Do have faith in what you're doing.