萝卜头IT论坛

搜索
查看: 1847|回复: 8
收起左侧

[每日话题] S0ix (Windows传统待机)耗电问题有望被解决?

[复制链接]
发表于 2022-12-5 21:24:20 | 显示全部楼层 |阅读模式
本帖最后由 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。
也就是说,这个困扰诸多用户的问题现在有望被解决。
图片.png
回复

使用道具 举报

 楼主| 发表于 2022-12-5 21:31:48 | 显示全部楼层

翻译版(机翻)

本帖最后由 PencilNavigator 于 2022-12-5 21:35 编辑

免责声明:我是微软的软件工程师,但我不在操作系统团队工作。我只是作为一个订阅了这个频道的观众来的。我决定验证一下你的假设,而且我能够重现它!我设置了一个测试,让一台运行Windows Powershell的笔记本电脑在通电时监听一个端口。每次客户端连接时,我都会打印连接的时间。从另一台电脑上,我可以向那台笔记本电脑发送一个数据包,然后看到消息被打印出来。然后我让笔记本电脑进入休眠状态,五秒钟后我会向笔记本电脑发送另一个数据包。然后我等了一分钟,从睡眠中重新打开笔记本电脑。

以下行为将根据笔记本电脑在进入Sleep S0状态时是否连接电源而改变:

-如果当我点击“睡眠”时,笔记本电脑已经接通电源,从“睡眠”恢复后,我会看到powershell窗口,打印出笔记本电脑处于睡眠状态的时间

-如果我点击“睡眠”时笔记本电脑没有接通电源,从“睡眠”恢复后,我将看到powershell窗口,没有任何信息打印出来

-以上行为不会改变独立于我在睡眠期间对电源线的操作-也就是说,即使我在睡眠期间拆除电源线,然后发送新的数据包,从睡眠恢复后(电源线仍然断开),我将看到打印出来的消息,这意味着笔记本电脑是S0网络连接,即使在电池上。错误复制。顺便说一下,如果我在S0睡眠期间将笔记本电脑连接到电源(没有消息打印),则会发生相反的情况。

我会尝试与操作系统团队联系你的发现和我的测试设置:)

谢谢你们了!这是伟大的调查新闻!


做为参考,我的笔记本电脑是Dell Latitude 7420,运行Windows 11 22621.819,默认UEFI设置。


Powershell代码参考:

服务器端(笔记本电脑):

> $Listener = [System.Net.Sockets.TcpListener]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)

```
回复

使用道具 举报

 楼主| 发表于 2022-12-5 21:34:27 | 显示全部楼层

英文原版

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 = [System.Net.Sockets.TcpListener]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)

```
回复

使用道具 举报

发表于 2022-12-5 22:07:17 来自手机 | 显示全部楼层
秒进,即开即用的意思?
回复

使用道具 举报

 楼主| 发表于 2022-12-5 23:12:58 | 显示全部楼层
OOO 发表于 2022-12-5 22:07
秒进,即开即用的意思?

是的。S0可以做到笔记本开盖秒用(不超过1秒)。
但牺牲的是续航,以及更高的待机功耗。
回复

使用道具 举报

发表于 2022-12-6 08:26:44 | 显示全部楼层
秒进一定要保证机子是开着的,牺牲续航是绝对的,只是使用的技术如何罢了。
回复

使用道具 举报

发表于 2022-12-6 12:22:46 | 显示全部楼层
很有可能的啊           
回复

使用道具 举报

发表于 2022-12-6 15:43:30 | 显示全部楼层
PencilNavigator 发表于 2022-12-5 23:12
是的。S0可以做到笔记本开盖秒用(不超过1秒)。
但牺牲的是续航,以及更高的待机功耗。 ...

是不是跟Mac差不多?
回复

使用道具 举报

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2024-4-24 12:21 , Processed in 0.100418 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表