问题标签 [nvapi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - NVAPI 问题返回 INCOMPATIBLE_STRUCT_VERSION
我正在使用 NVAPI.dll 来更改 gpu 的核心时钟。在 nvapi.dll 中使用 NvAPI_GPU_SetPstates20 函数 nvapi.dll 在 C# 中的结构是这样的:
这是我的功能:
当我运行函数“SetCoreClock”时。值 a 返回“INCOMPATIBLE_STRUCT_VERSION”。我的结构错了吗?我找到了一个 C++ 代码。代码的结构是:
c++ - 在 Visual Studio 2019 C++ 项目中构建 C 代码 (NVAPI)
我正在尝试在 Visual Studio 2019 中编译和使用NVAPI,但是我似乎遇到了 C(++) 版本或配置的问题。
由于 Nvidia 许可协议,我不认为我被允许分发我的项目的完整代码,但我会尽量提供尽可能多的细节。代码可以从上面的链接下载。
这是解决方案资源管理器:
它基本上是添加了我自己的程序的 NVAPI 代码,NVAPI-helloworld.cpp
如下所示:
最初,该项目不会构建,因为 NvU32 在 NvApiDriverSettings.h 中是未知的。An#include "nvapi.h"
似乎已经解决了这个问题。
但是,现在我遇到了以下问题nvapi.h
:
中的违规代码nvapi.h
如下所示:
我认为这可能是某种 C/C++ 版本冲突。也许我正在使用错误的编译器进行编译?但我不知道,谷歌搜索这个问题似乎并没有让我走得更远。
那么,是否可以配置 Visual Studio 2019 来做我想做的事情?如果是,如何?如果不是,哪些工具更适合?
c++ - GCP VM 上的自定义分辨率(在 Windows Server 2019 上使用 T4 GPU)
我目前正在寻找一种方法来使用 C++ 在带有 GPU(T4,带有网格许可证和虚拟工作站网格驱动程序)的 Windows Server 2019 VM 上设置完全自定义的分辨率。
我尝试了不同的方法来实现这一点,我可以在我的笔记本电脑上完成这项工作,但似乎对 GCP VM 有一些限制(或 Windows Server 限制)。
我尝试使用 ChangeDisplaySettings/ChangeDisplaySettingsEx (winuser.h) 来执行此操作,我可以更改为已知分辨率,但无法使其与自定义分辨率一起使用(即使使用 CDS_ENABLE_UNSAFE_MODE 也不行)。
然后我看一下 NVAPI,同样在这里,我可以让它在我的 PC 上运行,但在 GCP 虚拟机上仍然没有......我找到了一种方法让 NVAPI 在我的本地 PC 上创建和使用自定义分辨率,但是可以'不要让它再次在 GCP VM 上工作......(在此处找到代码示例)
这部分在我的笔记本电脑上运行良好,我可以使用新的动态分辨率(它适用于 1920x400、1920x500、1920x600),但在我的 GCP VM 上却不行,这部分:
NvAPI_DISP_TryCustomDisplay(&primaryDisplayId, 1, cd);
总是返回 NVAPI_ERROR
我发现了另一个技巧,我可以编辑这个注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video{RANDOM_ID}\0001\NV_Modes (这是一个旧的 pdf,经过一些测试,它似乎仍然以这种方式工作)如果我使用 NVAPI 添加了一些分辨率,然后我可以通过 ChangeDisplaySettingsEx 函数设置此分辨率(它需要重新启动 GPU 驱动程序,或者重新启动 Windows 才能更改为新添加的分辨率)。但是我需要能够旋转屏幕,使用“dmDisplayOrientation”播放,并且它似乎无法再次在 GCP VM 上运行,如果我授权例如 1920x1090,我可以将分辨率设置为此,但不能使用“dmDisplayOrientation”设置 1090x1920 = DMDO_90"(即使我也授权 1090x1920...)
因此,如果有人找到了一种方法,或者对如何做到这一点有任何想法,那就太好了,我现在已经没有想法了......
c++ - 无法使用 NVAPI 启用/禁用 Mosaic
我正在编写一些代码来通过 Quadro P4000 上的 NVAPI 启用和禁用 Mosaic。
我已经通过机器上的 Nvidia 实用程序将 Mosaic 设置为处于活动状态,并且它可以工作。但是,当我尝试通过代码禁用 Mosaic 设置时,我收到 NVAPI_NO_IMPLEMENTATION 状态错误。
这是我正在使用的代码:
根据Nvidia 的文档,这意味着驱动程序不支持此功能,虽然我觉得这有点含糊,但驱动程序已经完善并且它不是新卡。有谁知道这可能是别的什么,或者我用这种方法浪费了我的时间?
c++ - NVAPI获取gpu输出物理索引
我正在使用 NVAPI,里面有一个名为NvAPI_GPU_GetAllDisplayIds()
.
有了这个,我可以返回与我的显卡关联的端口的 ID 以及是否连接了某些东西。但是,这并不像我希望的那样有用,因为 id 是非连续的,并且在组成上看起来是随机的,并且可能会根据驱动程序更新等进行更改。
在系统拓扑下的 Nvidia 控制面板中,它列出了我的显卡上的输出,并有编号,即 displayport(3) displayport(4)。
我想知道是否有任何方法可以从 API 中获取这些数字,或者直接将实际端口本身链接到常量定义和可读值的方法。
python - 在屏幕上获取最常用的颜色(最好使用 Python)
有没有什么方法可以在屏幕上获得最常用的颜色(或最亮的颜色?)作为环境光/显示器背光,而无需过多使用 CPU?有没有办法利用已经计算颜色的显卡(也许是 NVApi)来做到这一点?如果有,有没有办法在 python 的循环中导入该颜色?
我现有的代码有效,但使用了 CPU,这是我在玩更激烈的游戏时需要的。无论如何,这是我现有的代码:
xxx.xxx.xxx.xx 是我的 RGB LED 控制器的 IP 地址