计算机科学领域的胜利?Surface产品睡死问题背后的故事

∮仗剑ノ天涯 UID.437137
2016-02-27 发表

本帖最后由 newsmanager 于 2016-2-27 22:27 编辑

***附件停止解析***

基于 Windows 的笔记本在”睡眠模式”下睡死的问题一直存在,尤其是在微软自己的 Surface 产品线上,这种睡死的情况更是频频见诸报端。不过在前几天微软推送了新的固件更新之后,这种睡死的情况看起来貌似已经被修复了。但是在这场没有硝烟的战场上,微软和”睡死”Bug 之间到底发了怎么样激烈的斗争?为什么 Surface Book 和 Surface Pro 4 遭遇了其他新 PC 没有遇到的电源管理问题?

Thurrott 资深科技编辑 Paul Thurrott 在搜集综合了已知的信息之后,给出了自己的分析报告。

在进行分析之前,我们要首先陈述 4 项事实。其中前 3 条消息源可以被独立验证,最后一条是 Paul Thurrot 和 某家 PC 制造商的私下交流。

[list]
[*]微软之前声明过 Surface 的电源管理问题属于”非常严峻的计算机科学领域的问题”;
[*]来自支持论坛上的一位 Surface MVP(微软最有价值专家)的一些有用的言论;
[*]一个面向 IT 专业人员的 Surface 博客撰文证实了 Paul Thurrot 之前的参考证据并放出了视频;
[*]之所以 HP(惠普)不采用微软在 Surface 产品线上采用的电源管理方案,是因为 HP 知道其存在问题。但是他们也明白,一旦微软和 Intel 解决了这个存在于 Windows 10 和 Skylake 上的问题,HP 自身也可以通过固件更新向用户提供这种高级的睡眠状态特性,给用户带来更多的价值。
[/list]
现代的基于 Intel 处理器的 PC 具备许多不同的电源管理睡眠状态(从 S1 到 S5,其中 S3 代表”在 RAM 中挂起”,S4 代表”休眠”)。其实也存在一种被称为 S0 的状态,也就是 PC 被正常启动。

但是在最新的 Intel 芯片组上,包括 Skylake,也提供了一种被称为”S0i”的睡眠状态,其中包括 低功耗运行状态,允许 PC 像基于 ARM 处理器的手机或者平板那样工作。这意味着具备 S0i 特性的 PC 甚至可以在睡眠状态下在设备上获取数据——比如新邮件、通知、软件更新。从硬件层面来说,这意味着事实上 S0i 状态可以关闭 Intel 芯片组的部分组件,细想之下,就是 SoC 的设计思路——当不工作时,关闭部分组件。换句话说,这样做的效率很高。

Surface Book 和 Surface Pro 4 正是具备 S0i 特性。正如上面那位 MVP 提到的,在 Windows 上使用这项技术的时候,具备额外的复杂性。因为桌面版(Win32)应用程序对此并不兼容。所以这些应用程序被”强行送入虚拟的 S3 状态”。

这位 MVP 表示:

QuoteWin32 应用程序由此会出现行为异常并拒绝进入虚拟的 S3 状态,这就阻止了设备进入 S0i 状态,进而造成了电量消耗。

同时,在 Skylake 芯片上,Intel 也在不断让其 SoC 进入预定的状态,以实现低功耗。

对于 Surface Book 和 Surface Pro 4 来说比较特别的是,微软一心想把事情做到极致。他们只是在这些设备上提供了对 S0i 状态的支持,然后再加上一个在默认情况下于两小时后启动的休眠状态以作为应变措施。结果就是,设备进入了一种”待命”状态,这是在绝大多数情况下其他 PC 制造商不会采用的方案。

至于这种”待命”状态,微软是这样解释的:

QuoteSurface 使用”现代待命”状态而不是传统的”S3 睡眠”状态。这允许我们直接面向独立的硬件组件来进行电源管理。最终的效果就是几乎瞬间的恢复和更加有效率的电量消耗。

所以,Surface 使用了手机/平板风格的电源管理方案,这和来自其制造商的 PC 是不一样的,事后则被发现是不可靠的。(当然有例外情况,但是既然这个问题被解决了,我们应该将会看到其他的基于 Skylake 的 PC 在随后逐步添加这项功能。)

正如微软解释的那样,对于”现代待命”(Modern Standby)状态,有两种模式:

[list]
[*]连接的待命(Connected Standby),也被称为”Instant Go”,适用于持续运行的计算情况(这就是”S0i”);
[*]为实现更长电池寿命的断开连接的待命(Disconnected Standby),也就是 S4,或者是休眠。
[/list]
你可以在你的 Surface Book 或者 Surface Pro 4 上通过运行命令行命令 powercfg /a 来进行验证,当你执行这条命令之后,你将会看到如下内容:
[mw_shl_code=c,true]Standby (S0 Low Power) Network Connected
Hibernate
Fast Startup[/mw_shl_code]
输出的结果也会提到”Standby (S3) is not available”。

现在让我们来看看另外一台基于 Skylake 的机器 HP Spectre x360-15。当在这台机器上运行同样的命令时,显示的结果是这样的:
[mw_shl_code=c,true]Standby (S3)
Hibernate
Hybrid Sleep
Fast Startup
[/mw_shl_code]
HP 的这台设备和 Surface 比起来绝对足够”Modern”(现代化),同时并没有提供 S0i 特性(S0 Low Power)。因为 HP 在测试过了这项特性之后认为其不可靠。但是按照一般的理解,类似 Surface Book 或者 Surface Pro 4 这样的 PC 设备应该需要迅速回过神来并正常工作。

微软的问题就在于让 Surface Book/Pro 4 蹒跚着出了门,因为其并不能够转换到预定的电源状态。所以当 S0i 在这些设备上运行失败时,系统能够做的就是横冲直撞,然后在2个小时候进入休眠状态,这个时候一切都太迟了。既然现在这个问题已经被解决,一切都会正常工作了,所有的 Surface Book/Pro 4 用户将会从微软的初衷中获益——类手机/平板 电源管理行为。

所以,当那位不知名的 Surface 推销人员说到:”电源管理是非常严峻的计算机科学领域的问题,尤其是在新的芯片上。”他无疑是对的。从某个角度来说,微软应该因为这种追求极致卓越的行为而被赞赏。

无论怎么说,一切看起来都美好了起来。对于绝大多数用户来说,其实并不要理解原理,修复这件事情本身就已经足够美妙了。(Via:***链接停止解析***)

有升级了最新固件的 Surface Book/Pro 4 小伙伴来现身说法吗?你们手上的设备现在表现如何?你们怎么看待这一”睡死门”?欢迎留言讨论~

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
tianxiangge UID.1248022
2016-02-27 使用 Lumia 640 XL 回复

hp这个老滑头。。。顶端的设备出现的问题也是学科的顶端命题,哎,谁让你比较牛B呢,,加油。。

凤凰****P版 UID.1238372
2016-02-27 回复

冒失没有睡死了

slopcan UID.230836
2016-02-27 使用 Lumia 1520 回复

这种科技文回复好少

ye****01 UID.965562
2016-02-27 回复

如果文章说的是真的,那么微软这种明知道有困难还要上,虽然过程非常波折,SP4和SB用户也是深受其苦,但问题解决了的话,那么接下来就是舔了。
而未来那么Skylake处理器的设备厂商的用户也会尝到甜头。
看了HP的回答,发现OEM的PC厂商是保守派的(不贬低,保守并没有错),他们望着微软,也希望微软和Intel尽快解决这个问题,这样他们的用户也会最终受益。
微软这种追求极致的精神是好的,可惜用户毕竟是用户,产品这个东西用户只希望好用(不要指望用户去理解你,用户都是很理想的,他们不会管理想是不是能够实现),但愿微软能够通过这次事件吸取教训。

网易****P版 UID.1313434
2016-02-27 使用 Lumia 640 回复

解决了就好,今年才能放心的如surface book

挪鸡鸭的fans UID.65169
2016-02-27 回复

出现问题不可怕,可怕的是不去正视问题,微软好样的

凤凰****P版 UID.1238372
2016-02-27 回复

微软又在折腾开发者了,微软的.Net Core RC版说是可以用来开发了,结果说完微软又大改了,引起国外开发者的愤慨,国内因为没人用,所以没什么反响。微软这个垃圾,怎么还不倒闭!没有信誉的公司就不配继续存在下去

xia****141 UID.1251420
2016-02-27 回复

现在我需要做的就是买台surface

活****爸 UID.819264
2016-02-27 回复

表示我这台设备问题很多

鱼蛋bb UID.73864
2016-02-27 使用 Lumia 640 回复

Quoteyege0201 发表于 2016-2-27 22:00
如果文章说的是真的,那么微软这种明知道有困难还要上,虽然过程非常波折,SP4和SB用户也是深受其苦,但问 ...


其实 instance go是 windows 8附带的新功能,不过当时需要TPM芯片支持,现在好像是 intel 直接集成到CPU里面了。Bug的东西,修是修不完的,但也是技术成熟的一个过程。

喵五郎 UID.603359
2016-02-28 回复

好像没有碰到过睡死,到时出现过windows hello解锁黑屏的现象

Naj****tra UID.1061829
2016-02-28 使用 Lumia 638 回复

睡死不单单是x86平台的苏菲吧,RT用户表示一次性睡超过24小时就睡死,必须热重启

老黑不黑 UID.1334857
2016-02-28 使用 Lumia 640 回复

Quote活人的爸爸 发表于 2016-2-27 23:01
表示我这台设备问题很多


问题说出来啊,没有解决不了的

TimChen44 UID.363110
2016-02-28 使用 Lumia 1520 回复

Quote凤凰新闻UWP版 发表于 2016-2-27 22:18
微软又在折腾开发者了,微软的.Net Core RC版说是可以用来开发了,结果说完微软又大改了,引起国外开发者的 ...


微软第一代产品基本都会面临大改。这个算是.net跨平台的第一个版本估计有的大改了。。。不过不要骂微软,他的产品以后兼容性一向很好,开源的那些才坑,一个小版本升级都有可能出现不兼容。反正到处是坑。

没伞****袋熊 UID.813067
2016-02-28 使用 Lumia 822 回复

太长了。。。。。凑字

凤凰****P版 UID.1157005
2016-02-28 回复

王八蛋,劳资烂康柏升级了w10,天天睡死,只能强制关机,重启

lefty6688 UID.6946
2016-02-28 使用 Lumia 950 XL 回复

该整一整win10m的耗电问题了

qfbQFB UID.893097
2016-02-28 回复

好高级,看不太懂……

ds****in UID.496681
2016-02-28 回复

来一台surface

openew UID.25033
2016-02-28 回复

的确,这个问题是一大进步,毕竟苏菲是电脑

jhs1258 UID.983962
2016-02-28 使用 Lumia 640 XL 回复

Quote活人的爸爸 发表于 2016-2-27 23:01
表示我这台设备问题很多


什么问题?软件问题应该可以通过更新解决吧

dsl19921103 UID.46536
2016-02-28 回复

看看什么情况

活****爸 UID.819264
2016-02-28 回复

Quotejhs1258 发表于 2016-2-28 15:05
什么问题?软件问题应该可以通过更新解决吧


硬件上没啥问题,就是有一堆小问题有时候能烦死人

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号联系站长投诉/举报