有沒有辦法通過WebGL API在客戶端檢測Firefox中的合成後端(無論是OpenGL,Basic/Cairo還是D3D)?我特別感興趣的是區分OpenGL/D3D和基本合成。如果無法使用WebGL API,是否有其他方式來確定合成後端(about:support
除外)?在Firefox中檢測合成後端
1
A
回答
2
簡單的答案是NO ,你不能從JavaScript
檢測合成後端在Firefox中,至少不會在Chrome中,你可以使用WEBGL_debug_renderer_info
extension。
至於爲什麼它不在Firefox中可用,並且在Chrome中可用,在哪些方面更重要,隱私或有用性上存在意見分歧。
以下示例很容易描述隱私問題。如果你瞭解GPU,那麼你就更瞭解用戶。例如,檢查GPU,看它是AMD FirePro D500。如果是,你現在知道這個人有一個4000美元的Mac Pro。爲他們投放昂貴的廣告。
有用的一面是,有許多較舊的GPU可以運行許多webgl演示就好,但無法運行像Google Maps那樣複雜的webgl。由於無法運行,它們要麼運行速度太慢,要麼甚至崩潰「WebGL擊中一個障礙,老鼠!」。無法分辨哪個GPU無法爲具有這些GPU的人們提供良好的用戶體驗。
還有其他建議,例如WebGL有一些性能指標,網站可以用它來決定製作圖形的複雜程度。不幸的是,沒有任何指標可以真正起作用。每種類型的GPU都有其優點和缺點。一個GPU在頂點轉換時可能很快,但在光柵化時速度較慢。另一種可能是快速渲染不透明的東西,但渲染半透明的東西時速度慢。其他人可能只會顯示他們的速度超過一定限度。最重要的是,它會給瀏覽器供應商帶來很大的負擔,以某種方式編寫基準測試(在用戶的機器上遠程運行),以提供這樣的指標。換句話說,這個解決方案被認爲已被放棄。
儘管如此,WEBGL_debug_renderer_info
會返回用戶機器的GPU和驅動程序信息,但這並不直接告訴您瀏覽器的合成後端是什麼。它只是告訴你瀏覽器使用什麼WebGL。雖然2可能是相同的。
相關問題
- 1. Firefox中的jQuery @ Keypress檢測
- 2. 如何在我的Firefox擴展中檢測成功登錄?
- 3. 在Firefox中檢測鼠標在Firefox中的位置
- 4. 檢測Firefox插件?
- 5. 如何在Firefox中檢測keyevent
- 6. 在Firefox中檢測下載狀態
- 7. Keras tensorflow後端檢測不到GPU
- 8. $ _POST在Chrome中檢測到變量但未在Firefox中檢測到變量
- 9. Firefox附加後端代碼
- 10. 檢測Firefox擴展版本
- 11. 檢測Firefox 4怎麼樣?
- 12. 檢測用戶代理Firefox
- 13. SpriteKit在檢測到觸點開始後檢測觸點的末端
- 14. Firefox和語音合成API
- 15. Firefox插件檢測服務器端軟件?
- 16. 基於標題的特定客戶端檢測。 Firefox擴展?
- 17. 如何檢測Firefox中的Enter鍵?
- 18. 檢測Firefox中的TabMove插件
- 19. Firefox中奇怪的CTRL鍵檢測
- 20. 檢測到Windows XP在Firefox與JS
- 21. 檢測Firefox用戶在Mac上只
- 22. 在MIO中檢測客戶端掛斷
- 23. 在Python中檢測Arduino端口
- 24. 在Mac OSX的Firefox中未使用JavaScript檢測到Shift + /組合鍵
- 25. 線端點檢測
- 26. 檢測一個頁面在firefox插件中完成加載的時間
- 27. 使用JavaScript或jQuery檢測Firefox混合內容阻塞?
- 28. 如何在Silverlight中檢測ALT組合?
- 29. 在JTextField中檢測組合鍵?
- 30. 在javascript中檢測組合鍵擊