javascriptブラウザ側を使用してビデオカードドライバ名を取得するにはどうすればよいですか?

jspblm

次のような文字列を取得したい:Intel Open Source Technology Center Mesa DRI Intel(R)HD Graphics 520(Skylake GT2)

ブラウザでJavaScriptのみを使用します。augur.ioのライブラリがその値を見つけることができることは知っていますが、オープンソースソリューションが必要であるか、どのjsメソッドを使用できるかを知る必要があります。

gman

WebGLのWEBGL_debug_renderer_info拡張機能を使用できますただし、ブラウザによっては、(a)ユーザーがWebGLを持っていない場合や、(b)拡張機能を使用できない場合があります。

function getVideoCardInfo() {
  const gl = document.createElement('canvas').getContext('webgl');
  if (!gl) {
    return {
      error: "no webgl",
    };
  }
  const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
  return debugInfo ? {
    vendor: gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL),
    renderer:  gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL),
  } : {
    error: "no WEBGL_debug_renderer_info",
  };
}

console.log(getVideoCardInfo());

@jaromanda Xのコメントによると、この拡張機能は物議を醸しています。GPUを知ることはプライバシーの問題であると主張する人もいます。たとえば、MacProにはMacProのみのGPUが搭載されています(または搭載されていました)。MacProは6000ドルのマシンのようなものだったので、その人のGPUを知ることで、彼らが$$$$を持っているというアイデアを得ることができました。「GPU = MacProのGPUの場合、高価なものの広告を表示する」のように。同様に、特定のマシンを識別するためのもう1つの情報です。

反論は多い

  • webglパラメータ、最大テクスチャサイズ、サポートされているユニフォームの数などを確認することで、ユーザーがハイエンドGPUを使用していることをある程度理解できます。WebGLを便利にするために必要なもの。

  • 情報を使用してマシンを識別することに関しては、WebGLパラメーターをフィンガープリントしてアーティファクトをレンダリングすることにより、その情報のほとんどをすでに取得できます。

  • テクニカルサポートでは、ユーザーのGPUを知ることが重要であることが多く、技術者以外のユーザーにシステムを調べて理解するように依頼することはあまり役に立ちません。

  • 一部のドライバーにはバグがあり、それらのバグを回避するのはブラウザーの仕事ですが、バグが修正され、その修正がブラウザーのリリースバージョンに浸透するまでに3〜6か月かかることがよくあります。それまでの間、企業はバグを回避する方法を必要としています。これは、「GPU = XがYを実行する場合」の形式であることが多く、Yは「別の手法を使用する」から「このユーザーにWebGLを使用しない」までのいずれかになります。 。これはGoogleマップが行うことです。特定のGPU /ドライバーが不安定であることがわかっている場合、Googleマップは機能がはるかに少ないcanvas2dバージョンにフォールバックします。

  • 最後の2つのポイントに関連して、多くのWebサイトはエラーやクラッシュを可能な限り追跡します。GPUを追跡することで、クラッシュが特定のGPU /ドライバーに関連しているかどうかを確認し、回避策を実装できます。

注:SOは、この拡張機能が良いか悪いかを議論する場所ではありません。上記の情報はほとんどFYIです。どちらにもメリットがあります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

セレンウェブドライバーを使用してvueオブジェクトの値を取得するにはどうすればよいですか?

分類Dev

コマンドラインを使用して独自のビデオドライバーを変更するにはどうすればよいですか?

分類Dev

コマンドラインを使用して独自のビデオドライバーを変更するにはどうすればよいですか?

分類Dev

JavaScriptを使用してファイルをダウンロードして保存するにはどうすればよいですか(ブラウザなし)

分類Dev

アドレスバーJavaなしでブラウザウィンドウサイズを取得するにはどうすればよいですか?

分類Dev

セレンウェブドライバーを使用してクラス内のreact要素の属性を取得するにはどうすればよいですか?

分類Dev

ブラウザでライブビデオを再生するにはどうすればよいですか?

分類Dev

複数のオーディオデバイスをサラウンドとして使用するにはどうすればよいですか?

分類Dev

現在ブラウザで再生されている映画のビデオファイルを取得するにはどうすればよいですか?

分類Dev

Seleniumが1つのドライバーseleniumのみを使用して(c#とchromedriverを使用して)2つのブラウザーウィンドウを操作するようにするにはどうすればよいですか?

分類Dev

opencvを使用してライブビデオフィードを表示するにはどうすればよいですか?

分類Dev

node.jsを使用してサーバー側からブラウザーを更新するにはどうすればよいですか?

分類Dev

Selenium Webドライバーを使用して次のdiv値でラベル名を取得するにはどうすればよいですか?

分類Dev

ハードウェアデバイスが占有しているドライブを表示するにはどうすればよいですか?

分類Dev

デバイスドライバを使用してファイルバージョンを取得するにはどうすればよいですか?

分類Dev

Pesterを使用してすべてのブランチのコードカバレッジを取得するにはどうすればよいですか?

分類Dev

ブラウザが最初のWebサーバー応答を送信する前にJavascriptをサポートしているかどうかをサーバーサイドで検出するにはどうすればよいですか?

分類Dev

gdatapythonライブラリを使用してYouTubeからすべてのビデオのリストを取得するにはどうすればよいですか

分類Dev

キヤノンのビデオカメラをウェブカメラとして使用するにはどうすればよいですか?

分類Dev

ブラウザで1つのドライブファイルピッカーを使用するにはどうすればよいですか?

分類Dev

WebViewでビデオまたはオーディオをバックグラウンドで再生し続けるにはどうすればよいですか?

分類Dev

DDを使用して古いドライブから新しいドライブにデータを移行するにはどうすればよいですか?

分類Dev

Pythonを使用してデフォルトのブラウザ名を取得するにはどうすればよいですか?

分類Dev

ユーザーがUWPでテキスト読み上げに触れて使用できるように、バウンディングボックスオーバーレイを備えたMicrosoft.media.ocrを使用してライブカメラを作成するにはどうすればよいですか?

分類Dev

ビデオカードからビデオを取得し、サウンドカードからHDMIケーブルにサウンドを取得するにはどうすればよいですか?

分類Dev

ビデオドライバが機能しているかどうかを確認するにはどうすればよいですか

分類Dev

ウィンドウの正確な高さを占める Web ブラウザでビデオを表示するにはどうすればよいですか?

分類Dev

クラウドコードを使用して、特定のFacebook IDを持つユーザーを取得するにはどうすればよいですか?

分類Dev

Linuxを使用しているドライブ内のフォルダーの数をカウントするにはどうすればよいですか?

Related 関連記事

  1. 1

    セレンウェブドライバーを使用してvueオブジェクトの値を取得するにはどうすればよいですか?

  2. 2

    コマンドラインを使用して独自のビデオドライバーを変更するにはどうすればよいですか?

  3. 3

    コマンドラインを使用して独自のビデオドライバーを変更するにはどうすればよいですか?

  4. 4

    JavaScriptを使用してファイルをダウンロードして保存するにはどうすればよいですか(ブラウザなし)

  5. 5

    アドレスバーJavaなしでブラウザウィンドウサイズを取得するにはどうすればよいですか?

  6. 6

    セレンウェブドライバーを使用してクラス内のreact要素の属性を取得するにはどうすればよいですか?

  7. 7

    ブラウザでライブビデオを再生するにはどうすればよいですか?

  8. 8

    複数のオーディオデバイスをサラウンドとして使用するにはどうすればよいですか?

  9. 9

    現在ブラウザで再生されている映画のビデオファイルを取得するにはどうすればよいですか?

  10. 10

    Seleniumが1つのドライバーseleniumのみを使用して(c#とchromedriverを使用して)2つのブラウザーウィンドウを操作するようにするにはどうすればよいですか?

  11. 11

    opencvを使用してライブビデオフィードを表示するにはどうすればよいですか?

  12. 12

    node.jsを使用してサーバー側からブラウザーを更新するにはどうすればよいですか?

  13. 13

    Selenium Webドライバーを使用して次のdiv値でラベル名を取得するにはどうすればよいですか?

  14. 14

    ハードウェアデバイスが占有しているドライブを表示するにはどうすればよいですか?

  15. 15

    デバイスドライバを使用してファイルバージョンを取得するにはどうすればよいですか?

  16. 16

    Pesterを使用してすべてのブランチのコードカバレッジを取得するにはどうすればよいですか?

  17. 17

    ブラウザが最初のWebサーバー応答を送信する前にJavascriptをサポートしているかどうかをサーバーサイドで検出するにはどうすればよいですか?

  18. 18

    gdatapythonライブラリを使用してYouTubeからすべてのビデオのリストを取得するにはどうすればよいですか

  19. 19

    キヤノンのビデオカメラをウェブカメラとして使用するにはどうすればよいですか?

  20. 20

    ブラウザで1つのドライブファイルピッカーを使用するにはどうすればよいですか?

  21. 21

    WebViewでビデオまたはオーディオをバックグラウンドで再生し続けるにはどうすればよいですか?

  22. 22

    DDを使用して古いドライブから新しいドライブにデータを移行するにはどうすればよいですか?

  23. 23

    Pythonを使用してデフォルトのブラウザ名を取得するにはどうすればよいですか?

  24. 24

    ユーザーがUWPでテキスト読み上げに触れて使用できるように、バウンディングボックスオーバーレイを備えたMicrosoft.media.ocrを使用してライブカメラを作成するにはどうすればよいですか?

  25. 25

    ビデオカードからビデオを取得し、サウンドカードからHDMIケーブルにサウンドを取得するにはどうすればよいですか?

  26. 26

    ビデオドライバが機能しているかどうかを確認するにはどうすればよいですか

  27. 27

    ウィンドウの正確な高さを占める Web ブラウザでビデオを表示するにはどうすればよいですか?

  28. 28

    クラウドコードを使用して、特定のFacebook IDを持つユーザーを取得するにはどうすればよいですか?

  29. 29

    Linuxを使用しているドライブ内のフォルダーの数をカウントするにはどうすればよいですか?

ホットタグ

アーカイブ