是否可以使用C#在Windows中访问和修改谨慎的GPU设置

lang

我正在尝试为Windows开发一个超频应用程序,该应用程序可以检测到您的GPU设置并将其核心和内存超频到最大稳定潜力。

如果可能的话,我真的很想为此使用c#。

我使用c#访问Windows中的设备/ gpu所做的所有搜索,请参阅在c#应用程序中使用它们来提高性能。

我已经研究过cudafy,但这似乎是另一项获得性能提升的东西,而不是我想要的东西。我不知道也许我不是在寻找正确的东西。任何帮助都会很棒。

谢谢

简短答案:不可以。

长答案:是的,但是...

  • GPU参数是通过GPU驱动程序的硬件控制界面设置的。此接口与OpenGL和Direct3D等图形API无关。
  • 硬件控制界面通常是未公开的,因为GPU制造商不想支持第三方开发人员或提供硬件修改工具的开发人员(尤其是因为不正确的超频会造成真正的硬件损坏风险以及欺诈性的保修退货风险) )。
  • 超频GUI和GPU控制面板是使用驱动程序的硬件接口的用户界面程序的示例。第三方超频工具的开发人员将使用计算机软件逆向工程技术来查看第一方软件(例如GPU控制面板)的功能。这是必需的,因为未记录硬件控制接口(即,没有C.h头文件和.lib告诉编译器哪些功能做什么以及它们位于何处的文件)。
  • 要使用C#中的任何编程接口,都需要CIL元数据程序集(例如WinRT),COM接口,可以与之配合使用的Win32 DLL接口GetProcAddress或C样式导出。GPU硬件控制接口没有这些东西-因此您必须开发自己的东西,然后才能使用C#。
  • 因此,您必须这样做:

    1. 在逆向工程调试器(例如Hex Rays IDA)中运行GPU驱动程序专有的超频程序,并仔细跟踪该程序的执行,以查看其对内核模式硬件接口或加载的内核模式图形驱动程序的调用。
    2. 用本机支持也可以与CLR互操作的那些调用的语言或平台重新实现这些调用
    3. 然后用C#编写调用该接口的GUI。
  • 值得注意的例外:AMD的Radeon的GUI控制面板是(我上次检查).NET应用程序-假设它们没有混淆它们用来控制硬件的CLR库,您可能会直接引用C#项目中的硬件并弄乱设置道路。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#单元测试:是否可以使用条件访问代替Debug.Assert?

是否可以在 Pug 中访问和修改从 Express 传递的变量?

是否可以使用.autocomplete()的修改?

是否可以使用C语言中的指针数学来访问结构中的数据?

是否可以使用Matlab像C ++中的索引那样访问数组?

是否可以使用C ++中的宏来像C#中那样创建“扩展方法”?

是否可以使用Rust中的指针访问结构的元素?

Windows 8应用程序开发-是否可以使用System.Net.Sockets?(C#)

是否可以使用C#代码创建新的Gremlin Graph DB和Graph

是否可以使用 C# 搜索和删除指向 EXE 的所有快捷方式?

是否可以使用C ++和CMake在Linux上创建Windows exe?

Spock测试中是否可以使用全局设置方法?

是否可以使用if或switch在Viewpager中设置图像?

是否可以使用ansible在变量中设置变量?

为 mitmproxy 设置修改体选项时,是否可以使用捕获的组替换?

您可以使用itextsharp C#设置字体中字母之间的距离吗

如果 b 和 c 是 python 中的数组/数据帧,是否可以使用 `a = b 或 c` 构造?

我可以使用任何现有的 Youtube API 访问和修改评论吗?

在C#中是否可以使用具有1种以上返回类型的函数?

是否可以使用C#在FTP中压缩文件夹?

c#中的“ operator true”是否有两个可以使用的地方?

C#匿名类型成员中是否可以使用别名?

是否可以使用Java创建使用CUDA和OpenCL的混合GPU加速应用程序?

在Windows的Git shell中是否可以使用“更多”命令?

是否可以使用electronic js跟踪Windows中的进程?

Windows是否可以使用Tensorflow C库?

是否可以使用C ++ / WinRT定位Windows 10.0.14393?

是否可以通过C#访问Windows Phone的存储视频?

是否可以使用ls,tail和mv移动最后修改的文件?