(質問がthree.jsに固有ではないですが、私は例として使用します)javascriptを使用してデバイスのCPU/GPUパフォーマンスを検出しますか?
私は(最近のWebアプリケーション・インターフェースを開発するthree.jsを使用し、WebGLのキャンバスレンダラの間でいくつかの素晴らしいフォールバックを書かれていますデスクトップブラウザの場合)。
しかし、今の問題は適切にデバイス機能を検出する方法になり、問題の2つの側面があります:
- ブラウザは(WebGLの/キャンバスのような静的な機能)を備えてい:これは、主にウェブコミュニティ内で解決され、単純な特徴検出を使用して。
- デバイス機能:これはハード部分であり、デバイスのハードウェア情報に直接アクセスすることなく、ハードウェアの要求が少ないコードにフォールバックする必要があるかどうかを示す方法が必要です。
顕著な例:Firefoxのモバイル/オペラモバイルはWebGLの支援を主張するが、バグであるか、またはデバイスのハードウェアによって制限されます。
私がこれまでに出てくるいくつかの回避策:
- は、性能指標として共通の特徴を使用する - タッチデバイスは、例えば、一般的にはあまり強力なハードウェアを持っています。コンセプト:これは未来を証明するものではない。
- 既知のバグのあるブラウザ/デバイス - UAの盗聴は避けられず、維持するのが難しい場合があります。
- パフォーマンステスト - したがって、コードを実行してフレームレートを測定する以外に、より良いオプションがありますか?
多分、これは難しいとは限りませんが、他にも提案はありますか?
統計情報は興味深いものですが、私はこれを自分のサイトの個々のユーザーにどのように適用できるのかわかりません(適切なフォールバックを可能にするため、デバイス/ブラウザのブラックリストなし)。また、コードからiframeで検出が行われたようですが、私は方法の選択に疑念を抱いています。 – bitinn
確かに。これは非常に興味深い情報ですが、機能の検出だけであり、ユーザーごとに独自に行うことができます。フィーチャの実装とパフォーマンスの間にかなりの相関関係を描きたい場合を除いて、パフォーマンスを教えてくれるわけではありません。 – desau