2020年1月|s3睡眠模式代表着什么?( 五 )


当然为了进一步增强S0ix的省电效果 , 新型待机还有一个机制叫做自适应休眠:当新型待机期间耗电量超过5% , 系统会直接进入最深一级的S0i5状态 , 这个状态理论上功耗为0瓦 。 有这个机制的存在 , 有时候将笔记本合盖后 , 你会发现第二天再打开时就无法用键鼠唤醒了 。 如下表所示 , 由于某些软件活动 , 我的笔记本待机耗电达到了5%(264) , 接着 , PC就直接进入了休眠模式(265) , 电量停止消耗 。
2020年1月|s3睡眠模式代表着什么?
文章图片
综上所述 , 在一台采用新型待机的PC中 , 进入睡眠模式步骤如下:
电源管理器决定进入S0低功耗模式;
屏幕关闭;
告知运行中的桌面应用和UWP在规定时间内完成最后的操作 , 之后将它们挂起到内存;
通知硬件设备进入相应的低功耗模式;
有通知或后台任务任务的需要时 , 激活器唤醒部分设备 , 执行操作;
完成任务或者超过唤醒时限时 , 再次让设备进入低功耗模式 。
我们的第二个问题也就迎刃而解了 。 让我们回到文章开头 , 新型待机又是怎么制造出了高达50℃的合盖笔记本呢?
▍对新型待机的批评
事实上 , 新型待机推行以来 , 批评的声音此起彼伏 , 文章开头的新闻只是其中一例 。 这些批评一部分确实和新型待机有关 , 也有一部分则应当归咎于误操作 。
虽然微软在宣传中将新型待机功耗和S3并称 , 但毫无疑问的是 , 由于传统待机状态下没有任何后台活动 , 设备也大都处于关闭状态 , 耗电量极小 。
但新型待机状态下 , 一些设备可能并不会进入低功耗状态 , 甚至是拒绝进入低功耗状态;此外新型待机也有唤醒SoC处理指令的机制 , 所以 , 新型待机的耗电量必然不会比S3更好 , 但并没有到不能接受的程度 , 从前面的报表中可以看出 , 9个小时的待机时间耗电量为3% 。
因此 , 一个非常普遍的观点是新型待机相较于传统待机耗电量更大 , 甚至有Surface用户称睡眠模式下短时间内电量骤降20% 。 的确 , 既要即时启动又要不耗电的黑魔法是不存在的 , 但20%实属夸张 , 如果机器电池状况良好 , 那么唯一可能的解释是PC根本没有进入睡眠模式 。
那么 , 为什么PC会无法进入睡眠模式呢?答案很有可能是Windows的电源请求机制 。
试想 , 我们正在观看一部2个小时的电影 , PC依旧死板地遵照设置 , 3分钟无操作直接息屏睡眠 , 这样的体验实在很差 。 正是为了解决这些情况 , 应用可以发送电源请求 , 系统扫描到电源请求后不会发送切换状态的指令 。 电源请求可以使用powercfg/requests看到:
2020年1月|s3睡眠模式代表着什么?
文章图片
音视频应用之外 , 其他应用也有可能发送电源请求 , 它们会阻止闲置的PC睡眠 , 电量消耗自然会高 。 不过 , 当我们明确要求PC睡眠时 , 这些应用也会被停止 , 只需要将合盖/电源按钮的功能设置为睡眠 , 然后执行这些操作即可 。
除了对耗电量的批评 , 还有人认为新型待机只是假睡 , 因为他们发现 , 书包里的PC风扇仍在工作 。 本质上 , 这是不信任其激活和唤醒机制 。
根据前面对新型待机原理的讲解 , 我们知道 , 和S3状态一样 , 除了豁免的少数应用活动 , 待机状态下传统应用、第三方系统服务都被挂起到内存 , 它们没有办法唤醒机器 。 最有可能将机器唤醒至S0完全开启状态的并非软件 , 而是外设 。 例如 , 如果PC外接了鼠标 , 并且在不关闭鼠标的情况下直接合盖放进背包 , 那么 , 鼠标只要受挤压轻微移动 , PC就会退出睡眠状态 。 这种情况并非新型待机独有 , 唯一的解决方案是装包之前 , 拔出或者关闭外设的电源 。