S0ix (Windows传统待机)耗电问题有望被解决?
本帖最后由 PencilNavigator 于 2022-12-5 21:31 编辑最近,某加拿大白嫖王(Linus Tech Tips)发布了一条新视频,专门吐槽了这个坑货,S0IX待机。
简单来说,S0ix 待机是一个可以做到到秒进桌面的技术(相比传统S3的3-6秒要快)。但因为优化问题会导致笔记本迅速耗光电量,其有悖于待机即是省电这个初衷。(详细可查看由“差评”写的这篇文章:https://baijiahao.baidu.com/s?id=1736940295640353385&wfr=spider&for=pc)
加拿大白嫖王发布视频后,一名微软员工看到了这个视频,发布评论表示在自己的笔记本上复现成功。
在评论中这名员工也表示会和系统(os)部门沟通(由于他不是系统部门的员工),尝试解决这个bug。
也就是说,这个困扰诸多用户的问题现在有望被解决。
翻译版(机翻)
本帖最后由 PencilNavigator 于 2022-12-5 21:35 编辑免责声明:我是微软的软件工程师,但我不在操作系统团队工作。我只是作为一个订阅了这个频道的观众来的。我决定验证一下你的假设,而且我能够重现它!我设置了一个测试,让一台运行Windows Powershell的笔记本电脑在通电时监听一个端口。每次客户端连接时,我都会打印连接的时间。从另一台电脑上,我可以向那台笔记本电脑发送一个数据包,然后看到消息被打印出来。然后我让笔记本电脑进入休眠状态,五秒钟后我会向笔记本电脑发送另一个数据包。然后我等了一分钟,从睡眠中重新打开笔记本电脑。
以下行为将根据笔记本电脑在进入Sleep S0状态时是否连接电源而改变:
-如果当我点击“睡眠”时,笔记本电脑已经接通电源,从“睡眠”恢复后,我会看到powershell窗口,打印出笔记本电脑处于睡眠状态的时间
-如果我点击“睡眠”时笔记本电脑没有接通电源,从“睡眠”恢复后,我将看到powershell窗口,没有任何信息打印出来
-以上行为不会改变独立于我在睡眠期间对电源线的操作-也就是说,即使我在睡眠期间拆除电源线,然后发送新的数据包,从睡眠恢复后(电源线仍然断开),我将看到打印出来的消息,这意味着笔记本电脑是S0网络连接,即使在电池上。错误复制。顺便说一下,如果我在S0睡眠期间将笔记本电脑连接到电源(没有消息打印),则会发生相反的情况。
我会尝试与操作系统团队联系你的发现和我的测试设置:)
谢谢你们了!这是伟大的调查新闻!
做为参考,我的笔记本电脑是Dell Latitude 7420,运行Windows 11 22621.819,默认UEFI设置。
Powershell代码参考:
服务器端(笔记本电脑):
> $Listener = 52134;
> $Listener.Start();
> while($true)
> {
> $client = $Listener.AcceptTcpClient();
> Write-Host("Connected at " + $(Get-Date));
> $client.Close();
> }
```
在客户端(同一网络上的另一台pc):
> $hostIp = "<machine network ip>"
> $port="52134"
> (new-object Net.Sockets.TcpClient).Connect($hostIp, $port)
```
英文原版
Disclaimer: I'm a Software Engineer at Microsoft, but I do not work on the OS team. I'm only here as a viewer who is subscribed to the channel. I decided to test out your guys hypothesis and I was able to reproduce it! I setup a test where I had a laptop running Windows Powershell listening on a port while connected to power. Every time a client connected, I would print the time at which the connection was made.From another PC, I would send a packet to that laptop and see the message being printed out. I then put the laptop to sleep, and after five seconds I would send another packet to the laptop. I then waited a minute and resumed the laptop from sleep.The following behavior would change depending on whether or not the laptop was connected to power while going to the Sleep S0 state:
- If the laptop was connected to power when I hit "Sleep", after resuming from Sleep I would see the powershell window with the messages printed out with the time at which the laptop was asleep
- If the laptop was NOT connected to power when I hit "Sleep", after resuming from Sleep I would see the powershell window with NO messages printed out
- The above behavior would not change independently of what I did with the power cable DURING sleep - that is, even if I removed the power cable during sleep, then sent new packets, after resuming from sleep (with the power cable still disconnected) I would see the messages printed out, meaning the laptop was S0 Network Connected even on battery. Bug reproduced. Btw, the opposite happens if I connect the laptop to power during S0 sleep (no messages are printed).
I will try to contact the OS team with your findings and my test setup :)
Thanks guys! This is great investigative journalism!
For reference, my laptop is a Dell Latitude 7420 running Windows 11 22621.819, default UEFI settings.
Powershell code for reference:
On the server (laptop):
```
> $Listener = 52134;
> $Listener.Start();
> while($true)
> {
> $client = $Listener.AcceptTcpClient();
> Write-Host("Connected at " + $(Get-Date));
> $client.Close();
> }
On the client (another pc on the same network):
> $hostIp = "<machine network ip>"
> $port="52134"
> (new-object Net.Sockets.TcpClient).Connect($hostIp, $port)
``` 秒进,即开即用的意思? OOO 发表于 2022-12-5 22:07
秒进,即开即用的意思?
是的。S0可以做到笔记本开盖秒用(不超过1秒)。
但牺牲的是续航,以及更高的待机功耗。 秒进一定要保证机子是开着的,牺牲续航是绝对的,只是使用的技术如何罢了。 很有可能的啊 PencilNavigator 发表于 2022-12-5 23:12
是的。S0可以做到笔记本开盖秒用(不超过1秒)。
但牺牲的是续航,以及更高的待机功耗。 ...
是不是跟Mac差不多?
页:
[1]
2