nvidia驱动程序存在问题,并且报告了显示器EDID:显示器的本机分辨率为1920x1080 32bpp 60Hz,但是由于某种原因,它仅显示整个桌面的一部分(过扫描/欠扫描)并且图像模糊,因此我创建了自定义分辨率1920x1080 32bpp 59Hz CVT -精简的银行,效果很好。
问题是当连接HDMI电缆时,Windows会自动选择错误的本机分辨率,而不是自定义分辨率。如何将自定义分辨率设置为默认分辨率?因此,当计算机在连接HDMI监视器的情况下启动时,它将默认为自定义分辨率。
或者是否可以执行命令以切换到自定义分辨率,而不是使用nvidia控制面板?在那种情况下,是否存在我可以通过某种方式执行该命令的HDMI连接事件?
谢谢。
我在这里找到了控制面板API:http : //developer.download.nvidia.com/SDK/9.5/Samples/DEMOS/common/src/NvCpl/docs/NVControlPanel_API.pdf。以下命令不起作用:
rundll32.exe NvCpl.dll,dtcfg setmode 2 1920 1080 32 59
这个讨论揭露不再支持这种做法:(
解决方案是使使用NvAPI_DISP_ *函数的应用程序进行适当的更改。
- NvAPI_DISP_GetTiming() // with NV_TIMING_OVERRIDE_CVT_RB parameter set
- NvAPI_DISP_TryCustomDisplay()
- NvAPI_DISP_SaveCustomDisplay()
当连接HDMI时,剩下的就是运行该程序:这里(缺少信誉)是如何找到图形适配器的设备类GUID。然后使用RegisterDeviceNotification()函数进行注册以获取WM_DEVICECHANGE通知。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句