苹果的准则

Ars Technica 的新文「自动显卡切换减少了续航时间」说的本是该站对这一现象的调查结果,一贯详实的风格。不过我却觉得其中一段对苹果为何这样做的解释让我受教很多:

这样看来,苹果切换图形芯片的方式违反直觉,毕竟这么做可是为了节能啊。既然 Core Animation 已被许多程序所采用,何必再有切换的功能呢?

要回答这个问题,就得了解一下苹果的设计哲学。这项切换功能完全不需要用户干预 — 没有开关,无法在系统中调整,从一开始就在运行,也不支持「白名单」。苹果的设计倾向是:只要可以,便给予最佳的图形性能。 关于这点,苹果曾解释道:(是希望)用户无需动手便能总是拥有足够的图形性能。即便(运算效能)超过了需求,但也比不够的好。

这段话让我想起自己在刚开始了解苹果产品的时候问过的一个问题:为什么连 iTunes 升级也强调是免费的? Lawrence 解释说「苹果的默认思维是:软件是应该收费的。所以免费的就尤其值得一提。」这个问题转换到 Windows 语境下便显得有些荒谬,应该没有多少人会认为 Windows Media Player 从 11 升级到 12 能和升级费扯上关系,它本该免费。这两个平台的思维习惯相差好大。

在看 Ars 这篇文章的时候,觉得挺气愤,因为这项功能发布之后,除了最初的赞誉(是苹果自己开发的!),接下来便几乎是科技站和用户对续航时间的抱怨,而我也觉得 Sony 硬开关的切换方式更好了。我曾想,苹果为何不在 Macbook Pro 的面板上再增加一个显卡指示灯,就像睡眠灯那样…打住!如果按照这种 PC 式的思维,那么为了满足用户的种种需求,面板上恐怕还要再增加其他状态的指示灯(像 ThinkPad 那样),而为了让人们快速了解指示灯的含义,就不能像现在这样单一个灯了事,还得加一些记号什么的。然后,OS X 也在这种影响之下加入,比如说,磁盘整理之类的功能。然后…#@$%^&*

单个功能已经够呛,例如提醒一个 Windows 用户定期整理磁盘,当许多功能叠加起来,用户需要学习和管理的量就变得很大,系统维护让人乏味也减少了本可以用来工作的时间。

越发觉得苹果同其他厂商的重大区别在于部署(implement),同一个功能实现的手段和其他厂商的差距很大,所以会让人觉得不合「常理」,但效果反而更好。

接着说 Ars 的这篇文章。文中提到 Tweetie,Skype 等小型应用也会激活独立显卡,还列出了其他会激活 GT330m 的程序,请移步查看。好在有了 gfxCardStatus 这个软件,新款 Macbook Pro(i5/i7)和去年产 9400/9600 双显卡版的用户可以监测并手工切换显卡状态了。

罪魁祸首是 Core Animation 框架,任何使用到 Core Animation,OpenGL,OpenCL,Quartz Composer,Core Graphics 的程序都会在启动时触发 GT330m。值得留意的是,外接显示器时,系统使用独立显卡,因此续航会大幅下降。另外 Ars 最后说,他们会设计一套符合大多数读者使用习惯的测试脚本,写完后再测试新款 Macbook Pro 和老款的续航能力。我们也会做后续的报道。