我想了解为什么在后台播放视频时,我在玩要求较高的游戏时会遇到 FPS 下降的情况,以及如何解决此问题。我的具体设置(请参阅底部的规格):两个显示器处于扩展桌面模式,主显示器通过 DisplayPort 连接到 AMD R9 390 显卡,另一个显示器通过 DVI 连接到片上 Intel HD 4600 图形输出或 R9 390 的 DVI 输出。
我将演示《巫师 3》游戏的问题,但同样的问题也出现在我尝试的至少一款其他游戏中 - 《坦克世界》(这才是问题真正严重的地方,因为有时我在玩游戏时会播放 YouTube 上的音乐)。在下面的所有实验中,我都在主显示器上以窗口全屏模式运行《巫师 3》,并使用 FRAPS 测量其中的 FPS。为了保证稳定的 FPS,我暂停了游戏(按 ESC)。我还将《巫师 3》进程的亲和性设置为前 3 个核心,并将其他应用程序的亲和性设置为第 4 个核心。在整个测试过程中,CPU 负载在核心 1-3 上保持稳定在 45-50%。
游戏未运行时的基线测试:核心 1-3 上的 CPU 负载约为 0%,核心 4 上的 CPU 负载约为 5%。游戏正在运行但没有并行播放视频时的基线测试:稳定为 58 FPS,CPU 负载:核心 4 上约为 10%。
第一批测试:副显示器连接到 R9 390。
- 在辅助显示器(Chrome 或 Firefox)上运行 1080p YouTube HTML5 视频:~48 FPS,CPU 负载:核心 4 上~50%。
- 相同的 YouTube 视频在游戏的主显示器上运行:结果与 (1) 相同。
- SMPlayer 在辅助显示器上播放 1024x426 AVC 视频:~48 FPS,CPU 负载:核心 4 上~25%。
第二批测试:副显示器连接HD 4600。
- 在辅助显示器(Chrome 或 Firefox)上运行 1080p YouTube HTML5 视频:~44 FPS,CPU 负载:核心 4 上~50%。
- 同一个 YouTube 视频在游戏的主显示器上运行:~48 FPS,CPU 负载:核心 4 上~50%。
- SMPlayer 在辅助显示器上播放 1024x426 AVC 视频:~50 FPS,CPU 负载:核心 4 上~25%。
现在,我注意到的一件事是,性能会根据游戏窗口是否处于焦点状态而有所不同。上面的基准测试是在游戏窗口处于焦点状态的情况下给出的。如果游戏窗口处于焦点状态,我看到视频播放明显不连贯(在 YouTube 和 SMPlayer 中都是如此)。如果另一个窗口处于焦点状态,视频播放很流畅,但游戏 FPS 会下降更多。
我的规格:Windows 10 x64、Intel i5-4690K、Gigabyte Z97-D3H、8GB RAM、R9 390 显卡。主显示器(连接到 R9 390)的分辨率为 1920x1200,副显示器的分辨率为 1600x1200。
编辑:我参加了一个仅限音乐的 YouTube视频并尝试以从 240p 到 1080p 的各种分辨率播放。随着分辨率的增加,FPS 从 58 FPS 逐渐下降到 48 FPS。