C# 调用nvapigpuu SetEDID ;关于Nvidia卡
如何在Nvidia GPU上调用此方法:C# 调用nvapigpuu SetEDID ;关于Nvidia卡,c#,nvidia,nvapi,C#,Nvidia,Nvapi,如何在Nvidia GPU上调用此方法: NVAPI_INTERFACE NvAPI_GPU_SetEDID ( NvPhysicalGpuHandle hPhysicalGpu, NvU32 displayOutputId, NV_EDID * pEDID ) Src: 我需要执行上面的命令来删除我们新的Quadro图形卡上所有DisplayOutput上的所有EDID设置。根据API文档,我尝试搜索NvPhysicalGpuHandle,发现了以下项目/库
NVAPI_INTERFACE NvAPI_GPU_SetEDID (
NvPhysicalGpuHandle hPhysicalGpu,
NvU32 displayOutputId,
NV_EDID * pEDID
)
Src:
我需要执行上面的命令来删除我们新的Quadro图形卡上所有DisplayOutput上的所有EDID设置。根据API文档,我尝试搜索NvPhysicalGpuHandle,发现了以下项目/库:
这没有我需要的方法NvAPI\u GPU\u SetEDID
我不是硬件程序员,我只需要能够调用这个命令。有什么想法吗?这可以通过使用
nvapi.dll/nvapi64.dll通过pinvoke
或其他什么东西来实现吗?我个人没有测试过这一点,但是你可以试试这个库,看看它是否可以毫无问题地设置EDID信息,如果失败,请打开一个问题
这是你应该怎么做的
首先,您需要找到要将EDID信息写入的正确的显示设备
或GPUOutput
。有多种方法可以做到这一点。
- 使用
NvAPIWrapper.GPU.PhysicalGPU.GetPhysicalGPUs()
static方法获取系统中所有PhysicalGPU
的列表,然后根据逻辑选择所需的PhysicalGPU
。找到正确的PhysicalGPU
后,使用NvAPIWrapper.GPU.PhysicalGPU.GetDisplayDevices()
方法获取连接到该GPU的所有DisplayDevice
的列表,并将正确的存储在变量中
- 除了搜索已连接的
显示设备
s,您还可以选择gpu输出
s。与之前一样,首先需要找到正确的PhysicalGPU
,然后可以使用NvAPIWrapper.GPU.PhysicalGPU.activeoutpus
属性获取所有GPUOutput
的列表,并将正确的GPUOutput
存储在变量中
- 找到正确的
显示设备的另一种方法是查找所有显示的列表。为此,您需要使用NvAPIWrapper.Display.Display.GetDisplays()
static方法。这将返回Display
s的数组。然后使用NvAPIWrapper.Display.Display.DisplayDevice
属性,可以获得Display
的相应DisplayDevice
找到正确的显示设备
或GPU输出
后,应使用NvAPIWrapper.GPU.PhysicalGPU.WriteEDIDData()
方法。此方法允许您将存储在字节数组中的EDID数据写入以前选择的DisplayDevice
或GPUOutput
注意:确保捕获nvidiapiexception
并检查nvidiapiexception.Status
属性,以防出现问题