如何自动切换硬件图形加速?

时间:2012-02-19 21:54:02

标签: windows windows-xp automation directx hardware-acceleration

我的笔记本电脑有(可能)损坏的显卡内存,它会导致一些奇怪的错误,例如屏幕上出现彩色圆点,光标有时会上下跳动和冻结。我注意到当我在Windows中关闭硬件加速时问题就消失了。每当我想要播放电影时,除非我重新激活硬件加速,否则图像是块状的。

手动执行此操作非常烦人,需要花费一些时间,所以我想制作一个程序来自动执行禁用或启用所有显示器上的硬件加速的过程(相当于移动滑块所有在屏幕设置中左侧的方式)。我之前没有使用Windows编程的经验,所以如果有人能够至少指出我正确的方向,我将不胜感激。

我是一个小偷,购买一台新电脑不是一个选择,因为当我禁用硬件加速时,这个电脑工作得很好。

编辑:我的案例中的加速级别存储在注册表项

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \控制\视频{85D18855-5163-4CFC-8A71-222DCC03C001} \ 0000

“Acceleration.Level”= DWORD:00000005

默认情况下,该键不存在,删除它并更改颜色深度会重新打开硬件加速。

1 个答案:

答案 0 :(得分:0)

附注:严重问题可能正在形成......

这些错误表明你的显卡有问题,如果你没有处理,你的显卡将继续下降到你甚至不能再使用你的计算机的可能性很大的可能性

我也很无能为什么你无法使用你的计算机进行硬件加速,而你可以很好地观看视频,也许你可以考虑关闭DWM,如果你使用它可能是罪魁祸首软件-wise,不需要你再关闭硬件加速。

然而,这本质上是一个硬件问题,所以你可能计划至少升级你的显卡;或者至少保留一些预算,以防它迟早决定失败......

无论如何,人们如何自动化......

您应该可以使用AutoIt

Documentation中,您将找到有关基本内容的教程。前三个应该足以理解如何响应Window事件。

然后,只需要进行WHILE循环,等待窗口处于活动状态,然后启用硬件加速,然后等待窗口处于非活动状态,然后禁用硬件加速;之后循环重复。这样,无论何时观看视频,它都会加速,否则就不会。

如果您执行了安装教程,您可以轻松地自动执行操作以打开和关闭硬件加速,可能需要将 Tab 提供给SendKeys才能获得到滑块。之后您可以发送左箭头或右箭头(可能几次?)以向正确的方向滑动。

由于我认为你指的是你的显卡的硬件加速功能,我不能为你写这个,因为我没有你的显卡,在大多数情况下,甚至没有它驱动程序。