@shijingshijing 其实并不是这样。只是 Windows 在笔记本设备上默认采用了更加激进的电源管理策略罢了。很多人向我抱怨说他们的 Windows 笔记本不插交流电源时玩游戏非常卡顿,而且我发现 Windows 对于电源管理缺乏简单的配置方法,这其实是缺点。我们曾经遇到过,不插交流电源的同一台笔记本电脑运行同一个 Java 模拟器程序时,Windows 表现的相当糟糕,而 Linux 则表现的比较出色。Linux 如果你也想做到这样,其实只需要用 tlp 或 lmt 等工具配置一下,再设置一下最大 CPU 频率就行了,一切都是可以配置的,你可以随时在无 AC 电源时达到硬件该有的性能,也可以随时获得最长电池使用时间。
因此这个问题并非是电源管理做的好不好,而是操作系统设计哲学的问题,大多数*nix 用户更倾向于认为操作系统不应该做出这种假定。操作系统应该只提供机制而不是策略,操作系统只提供相关接口(如控制 CPU 频率的接口),具体功能应该作为扩展功能交给其他程序或用户来完成。一个程序只应该做好一件事。操作系统也应该做好的本职工作。
@iwtbauh 你做过硬件驱动就知道为什么 windows 下面有优势了,这一块不是技术上的问题,实际上*unx 系列也可以完美解决功耗问题,参见苹果系列。这是一个商业问题,很多硬件厂商在做驱动的时候对 linux 的策略是能用就行,稍微良心一点的会注重 performance,功耗控制都是放在最后的可有可无的选项,因为投入的人力物力成本摆在那里,而这些厂商针对 windows 则很不一样,windows 下面是务必要保证的,因为这个下面的用户都是金主。
同理这就是为什么 nvidia 的闭源驱动要好于开源第三方的原因,做 CUDA 的平台一般都会优先选择 windows,驱动差异摆在那儿。