簡體   English   中英

是否可以使用C#在Windows中訪問和修改謹慎的GPU設置

[英]Is it possible to access and modify discreet gpu settings in windows using c#

我正在嘗試為Windows開發一個超頻應用程序,該應用程序可以檢測到您的GPU設置並將其核心和內存超頻到最大穩定潛力。

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

我使用c#訪問Windows中的設備/ gpu所做的所有搜索,請參閱在c#應用程序中使用它們來提高性能。

我已經研究過cudafy,但這似乎是另一項獲得性能提升的東西,而不是我想要的東西。 我不知道我是否在尋找正確的東西。 任何幫助都會很棒。

謝謝

簡短答案:不可以。

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

  • GPU參數是通過GPU驅動程序的硬件控制界面設置的。 此接口與OpenGL和Direct3D等圖形API無關。
  • 硬件控制界面通常是未公開的,因為GPU制造商不想支持第三方開發人員或提供硬件修改工具的開發人員(尤其是因為錯誤的超頻確實會造成硬件損壞的真正風險以及欺詐性的保修退貨風險) )。
  • 超頻GUI和GPU控制面板是使用驅動程序的硬件接口的用戶界面程序的示例。 第三方超頻工具的開發人員將使用計算機軟件逆向工程技術來查看第一方軟件(例如GPU控制面板)的功能。 這是必需的,因為未記錄硬件控制接口(即,沒有.h頭文件和.lib文件可以告訴編譯器哪些功能做什么以及它們位於何處。
  • 要使用C#中的任何編程接口,都需要CIL元數據程序集(例如WinRT),COM接口,可與GetProcAddress使用的Win32 DLL接口或C樣式的導出。 GPU硬件控制接口不存在這些東西-因此您必須開發自己的東西,然后才能使用C#。
  • 因此,您必須這樣做:

    1. 在逆向工程調試器(例如Hex Rays IDA)中運行GPU驅動程序專有的超頻程序,並仔細跟蹤該程序的執行,以查看其對內核模式硬件接口或加載的內核模式圖形驅動程序的調用。
    2. 用本機支持也可以與CLR互操作的那些調用的語言或平台重新實現這些調用
    3. 然后用C#編寫調用該接口的GUI。
  • 顯着的例外:AMD的Radeon的GUI控制面板是(我上次檢查).NET應用程序-假設它們沒有混淆它們用來控制硬件的CLR庫,則可以直接引用C#項目中的硬件,並進行設置。方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM