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?