Używanie javascript do wykrywania wydajności CPU / GPU urządzenia?

(Pytanie nie jest specyficzne dla three.js, ale użyję go jako przykładu)

Korzystam z three.js, aby ostatnio opracować interfejs aplikacji internetowej i napisałem fajne rozwiązanie między rendererem WebGL i Canvas (dla przeglądarek komputerowych).

Ale teraz problem polega na tym, jak prawidłowo wykryć możliwości urządzenia, są 2 aspekty problemu:

funkcje przeglądarki (funkcje statyczne, takie jak webgl / canvas): jest to w dużej mierze rozwiązane w społeczności internetowej za pomocą prostego wykrywania funkcji.możliwości urządzenia: jest to najtrudniejsza część, bez bezpośredniego dostępu do informacji o sprzęcie urządzenia, potrzebujemy pewnych sposobów, aby stwierdzić, czy powinniśmy powrócić do mniej wymagającego sprzętu kodu.

Godny uwagi przykład: Firefox mobile / Opera mobilny twierdzi, że obsługuje WebGL, ale jest wadliwy lub ograniczony przez sprzęt.

Kilka obejść, z którymi do tej pory wymyśliłem:

Użyj wspólnej funkcji jako wskaźnika wydajności - na przykład urządzenie dotykowe ma mniej wydajny sprzęt. Con: nie jest przyszłościowy.Znana czarna przeglądarka / urządzenie z błędami - Wąchanie UA będzie nieuniknione i może być trudne do utrzymania.Test wydajności - stąd pytanie, czy oprócz uruchamiania kodu i mierzenia prędkości klatek na sekundę są lepsze opcje?

A może to nie musi być takie trudne, czy są inne sugestie?

questionAnswers(3)

yourAnswerToTheQuestion