![为什么观看完全相同的视频文件时,Flash 播放器消耗的 CPU 比 VLC 播放器多 20 倍?](https://linux22.com/image/960335/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A7%82%E7%9C%8B%E5%AE%8C%E5%85%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E8%A7%86%E9%A2%91%E6%96%87%E4%BB%B6%E6%97%B6%EF%BC%8CFlash%20%E6%92%AD%E6%94%BE%E5%99%A8%E6%B6%88%E8%80%97%E7%9A%84%20CPU%20%E6%AF%94%20VLC%20%E6%92%AD%E6%94%BE%E5%99%A8%E5%A4%9A%2020%20%E5%80%8D%EF%BC%9F.png)
当我在线播放视频(H264 MPEG4 AVC 320x180)时(在 Firefox 或 Chrome 中),它会消耗高达 100% 的 CPU,但如果我下载它(确切地说是播放的文件)并使用 VLC - 它只占用 5%(最多 6%)。为什么会发生这种情况?我该怎么做才能使在线播放器更高效?
PS:显卡是Intel GMA X4500HD。
答案1
可能的原因是 Flash 插件无法利用显卡驱动程序支持的任何硬件加速。然后所有内容都使用 CPU 进行解码。
系统中的英特尔驱动程序允许 VLC 使用 GPU 而不是 CPU 来以视频加速方式渲染电影,这显然要好得多。
此外,Flash 硬件加速 API(Stage Video)要求开发人员在其视频播放器 SWF 中实际添加对它的支持。
如果视频播放器没有内置对它的支持,即使您的 Flash 版本启用了 VA,并且您的驱动程序支持它(似乎它们支持,因为 VLC 显然正在使用它),您的视频也将通过 CPU 解码。