Windows 7 主题服务到底有什么作用

Windows 7 主题服务到底有什么作用

我在播放大型(接近 4k)视频时遇到了问题。部分视频出现撕裂,我知道硬件能够正常播放视频,但在几个应用程序中,视频会出现撕裂,播放性能也不是很好。

经过反复试验,我们确定原因是我们已关闭窗口主题。

有问题的机器运行的是Windows 7 Professional。

我们在其他几台电脑上尝试了这种方法,结果也是一样的。我们必须重新打开主题才能让视频播放正常。我们可以打开和关闭主题服务,每次关闭主题时,视频播放效果都会很差,而重新打开主题后,效果会显著改善。

我(也许有点天真)以为主题服务只负责 GUI 元素的视觉样式。显然,这并不是 W7 主题服务的全部功能。

我无法通过 google 或 microsoft.com 找到主题服务负责的完整描述。

有人知道吗 - 1. 知道为什么主题服务开启后视频播放效果会更好吗? 2. 主题服务的完整描述?

编辑-如果视频格式是 MP4 h.264,我们尝试了内置的 Microsoft 解码器以及 LAV。

答案1

垂直同步 (Vsync) 通常是造成撕裂的原因。

Windows Vista 及更高版本中的垂直同步由桌面合成器和视频应用程序处理。使用经典主题时,屏幕绘制将恢复为 GDI(想想 Windows XP,但更糟),其中基本上无法控制垂直同步。Nvidia 驱动程序只会在 D3D 或 OGL 应用程序中强制使用垂直同步。

在这种情况下,解决方案是启用视频应用程序中的垂直同步。如果您当前的视频应用程序不支持垂直同步,请获取一个支持垂直同步的应用程序。据我所知,例如 Media Player Classic Home Cinema 就支持该功能。

您还应该检查当启用 Aero 或 Classic 时,刷新率或帧速率的视频设置是否不同。

答案2

禁用主题服务似乎会禁用 Aero 图形引擎,同时禁用 Glass 主题,系统会恢复到旧式渲染 - 可能大多数代码来自 XP 一代。

正如您正确记得的那样,它通常被建议作为一种恢复资源的方法,但我的猜测是,对于高分辨率和现代图形卡,旧代码的效率低于新代码(尽管较小的占用空间可以恢复一些资源,这在某些情况下是好的,但在这种情况下无关紧要)。

可能这个问题没有真正的答案,因为不同的视频卡和不同的驱动程序在这两个图形引擎上工作效率会有所不同,所以应该对每个情况进行独特的测试:新的 Aero 引擎是否更适合该硬件,或者我应该回到旧引擎并释放一些资源作为奖励?

凭借经验,我可以猜测较新的硬件将经过微调以最好地与 Aero 配合使用,以至于它会严重滞后于旧引擎,而且 2014 年的普通机器硬件比 Vista 发布时的 2007 年强大得多,因此关闭 Aero 来恢复资源可能不再是一个好的权衡,不应再推荐。

相关内容