Как измерить CPU пользователя
есть JS скрипт, который циклически работает через setTimeout, на слабых мобильных устройствах или перегруженном десктопе, подвисает
хочется как-то измерять "мощность" устройства и в зависимости от загруженности CPU менять значение setTimeout на оптимальное при этом грузить проц тестами нельзя подскажите идеи |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Мало иметь кучу ядер, важно уметь ими управлять, а сама ОС этого практически не делает для себя, не говоря уже о том, чтобы она это делала для приложений. Только ПО написанное под многоядерные системы эффективно использует все ядра CPU, а например видео редакторы как Adobe Premiere еще и задействует десятки ядер GPU nVidea, и при этом мощь обработки видео со множеством дорожек, фильтров, переходов можно видеть в режиме реального времени. JS вам такого не сделает, хотя браузеры сейчас уже используют возможности GPU. Другими словами, даже если знать что на CPU и сколько RAM в системе, в полной мере этим все равно вы не сможете распорядится, а любая ОС для того и нужна чтобы управлять множеством задач, то есть кроме ваших, есть и другие, о которых вы тоже ничего не можете знать, а они то тоже "кушают мощности". Да еще если ваш сценарий неэффективный, да еще чей-то, да еще... Но для мобильных устройств можно хотя бы приблизительно знать и CPU, и RAM (в стандартной поставке), детектируя устройство и сопоставляя ему его CPU/RAM. В основе их это ARM Cortex-A7, A9. В общем по модели устройства знаем технические данные. Для настольных систем - пролет. |
Цитата:
если на устройстве запущено куча приложений, которые заняли память и процессор, то зайдя на мой сайт, CPU не будет соответствовать табличному списку, ибо CPU занято другими приложениями на данный момент у меня работает костыль в виде измерения времени от начала работы setTimeout до его окончания и в зависимости от скорости отработки, устанавливается следующая задержка но вот выяснилось, такой костыль начинает грузить проц на слабых мобильных устройствах и приводит к подвисанию, что не есть хорошо |
Цитата:
|
Мне тоже нужно узнать быстродействие. Нагрузил сайт анимацией, обычной на JQuery, но не уверен, что всем нужна эта анимация, особенно если пользователь сидит на дешевом телефоне или медленном нетбуке. Вы скажите "так убери анимацию". Зачем? Мы стремимся идти в перед. Представте, что у вас в телефоне нет анимации никакой. Как это выглядит? Тупо. А с сайтами - как у всех. Если кто знает как измерить быстро скорость хотя бы разок, отпишитесь.
|
andriy159,
с помощью js наверное только нагрузкой. но в данном случае вам это не подойдет. Для мобильных устройств можно попробовать по косвенному признаку, версии операционной системы, разрешения экрана. но гарантии точного определения это не даст. |
Цитата:
Если вам надо менять какие-то параметры в зависимости от того сколько действительно прошло времени, то так и делайте: поучайте разницу меж датой назначения таймаута и датой вызова функции и, в зависимости от отклонения от расчётного, правьте коэффициенты... |
Часовой пояс GMT +3, время: 17:00. |