-webkit-transform、-webkit-perspective などを使用する CSS を作成しました。私の設計は、ハードウェア アクセラレーションが利用できるマシンでは問題ないように見えますが、そうでない場合は実際には使用できません。ハードウェア アクセラレーションの可用性を確認し、代替 CSS を提供するにはどうすればよいですか?
補足: chrome://gpu-internals/ を実行して、可用性を手動で確認してください。
-webkit-transform、-webkit-perspective などを使用する CSS を作成しました。私の設計は、ハードウェア アクセラレーションが利用できるマシンでは問題ないように見えますが、そうでない場合は実際には使用できません。ハードウェア アクセラレーションの可用性を確認し、代替 CSS を提供するにはどうすればよいですか?
補足: chrome://gpu-internals/ を実行して、可用性を手動で確認してください。
悲しいことに、答えは「(まだ)できない」ようです。
Modernizr プロジェクトでは、「検出できない」ものの中に HW アクセラレーションがリストされています: https://github.com/Modernizr/Modernizr/wiki/Undetectables。
問題の一部は、ページ上で何かをレンダリングするときに HW アクセラレーションがケースバイケースで使用されることにあるようです。そのため、ブラウザが理論的にはハードウェア アクセラレーションをサポートしている場合でも、それが特定の操作 (翻訳、遷移、再描画など) に使用されるかどうかは事前にわかりません。
ハードウェア アクセラレーションの有無にかかわらず、プロファイリングを使用してパフォーマンスの変化を検出する検出スキームを想像できますが、ハードウェア アクセラレーションを使用することは、ページのビューの外のレイヤーで発生します。たとえば、ハードウェアアクセラレーションを確実に有効/無効にできたとしても、遷移のフレームレートを検出することはできません。
Webkit レンダリング API は、この情報が利用できる場所のように見えますが、ページ レベルの Javascript を介してアクセスできるようには見えません (DOM のノードに RenderObjects がアタッチされていても): https://www.webkit. org/blog/114/webcore-rendering-i-the-basics/
実行可能な唯一のオプションは、既知の高速化されたブラウザーのリストに対するユーザーエージェントのスニッフィングです (yuck)。