s3睡眠模式代表着什么?( 五 )


s3睡眠模式代表着什么?
文章图片

文章图片

当然新型待机模式和传统待机一样 , 点击电源按钮 , 或者操作键盘鼠标 , PC就会切换为S0完全开启状态 。因为系统本身就处于S0 , 部分设备也不需要经历D3到D0的高延迟状态切换 , 所以新型待机的唤醒可以达到1秒以内 , 微软称之为「instanton」 。IntelEvo?认证主打的「即时唤醒」也正是得益于新型待机 。
当然为了进一步增强S0ix的省电效果 , 新型待机还有一个机制叫做自适应休眠:当新型待机期间耗电量超过5% , 系统会直接进入最深一级的S0i5状态 , 这个状态理论上功耗为0瓦 。有这个机制的存在 , 有时候将笔记本合盖后 , 你会发现第二天再打开时就无法用键鼠唤醒了 。如下表所示 , 由于某些软件活动 , 我的笔记本待机耗电达到了5%(264) , 接着 , PC就直接进入了休眠模式(265) , 电量停止消耗 。
s3睡眠模式代表着什么?
文章图片

文章图片

综上所述 , 在一台采用新型待机的PC中 , 进入睡眠模式步骤如下:
电源管理器决定进入S0低功耗模式;
屏幕关闭;
告知运行中的桌面应用和UWP在规定时间内完成最后的操作 , 之后将它们挂起到内存;
通知硬件设备进入相应的低功耗模式;
有通知或后台任务任务的需要时 , 激活器唤醒部分设备 , 执行操作;
完成任务或者超过唤醒时限时 , 再次让设备进入低功耗模式 。
我们的第二个问题也就迎刃而解了 。让我们回到文章开头 , 新型待机又是怎么制造出了高达50℃的合盖笔记本呢?
▍对新型待机的批评
事实上 , 新型待机推行以来 , 批评的声音此起彼伏 , 文章开头的新闻只是其中一例 。这些批评一部分确实和新型待机有关 , 也有一部分则应当归咎于误操作 。
虽然微软在宣传中将新型待机功耗和S3并称 , 但毫无疑问的是 , 由于传统待机状态下没有任何后台活动 , 设备也大都处于关闭状态 , 耗电量极小 。
但新型待机状态下 , 一些设备可能并不会进入低功耗状态 , 甚至是拒绝进入低功耗状态;此外新型待机也有唤醒SoC处理指令的机制 , 所以 , 新型待机的耗电量必然不会比S3更好 , 但并没有到不能接受的程度 , 从前面的报表中可以看出 , 9个小时的待机时间耗电量为3% 。
因此 , 一个非常普遍的观点是新型待机相较于传统待机耗电量更大 , 甚至有Surface用户称睡眠模式下短时间内电量骤降20% 。的确 , 既要即时启动又要不耗电的黑魔法是不存在的 , 但20%实属夸张 , 如果机器电池状况良好 , 那么唯一可能的解释是PC根本没有进入睡眠模式 。
那么 , 为什么PC会无法进入睡眠模式呢?答案很有可能是Windows的电源请求机制 。
试想 , 我们正在观看一部2个小时的电影 , PC依旧死板地遵照设置 , 3分钟无操作直接息屏睡眠 , 这样的体验实在很差 。正是为了解决这些情况 , 应用可以发送电源请求 , 系统扫描到电源请求后不会发送切换状态的指令 。电源请求可以使用powercfg/requests看到:
s3睡眠模式代表着什么?
文章图片

文章图片

音视频应用之外 , 其他应用也有可能发送电源请求 , 它们会阻止闲置的PC睡眠 , 电量消耗自然会高 。不过 , 当我们明确要求PC睡眠时 , 这些应用也会被停止 , 只需要将合盖/电源按钮的功能设置为睡眠 , 然后执行这些操作即可 。