Вопрос по javascript, performance, browser, optimization – Оцените скорость работы браузера JS для условного отключения анимации

5

Существует ли стандартный (принятый / простой / эффективный) способ определения скорости, с которой клиентский компьютер отображает javascript?

Когда я запускаю веб-приложения (видео и т. Д.) На других своих вкладках, моя анимация JS замедляется до ползания.

Если бы я мог обнаружить медлительность из моего JS, я бы использовал более простые анимации, чтобы обеспечить лучший пользовательский опыт.

Update:

Удаление анимации для всех не является ответом. Я говорю о самой простой анимации, которая будет зависать в зависимости от браузера / компьютера. Если бы я мог определить уровень медлительности, я бы просто отключил их.

Это то же самое, что и видеоигры с динамическим качеством графики: вы хотите порадовать людей со старыми компьютерами, не наказывая тех, кто обладает дополнительной вычислительной мощностью.

Ваш Ответ

2   ответа
0

гой вкладке, которая не находится в фокусе, какая польза от их анимации?

Другое - минимизировать анимацию. Я предполагаю, что вы находитесь на DOM, и операции DOM стоят дорого. сведите их к минимуму.

Один совет, который я получил где-то, заключается в том, что если вы используете манипуляции с изображениями, попробуйте вместо этого использовать canvas, чтобы вы не работали с DOM.

Кроме того, рассмотрим прогрессивное улучшение. Сохраняйте свои функции простыми и продвигайтесь к сложным вещам. Используйте простые функции в качестве основы каждый раз, когда вы добавляете что-то новое. Таким образом, вы можете легко определить причину проблемы и устранить ее соответствующим образом.

Основная проблема, которую вы должны сначала решитьwhy это медленно, а не когда это медленно.

@YujiTomita, то это одна из вещейyou just can't control, Вы можете спросить ребят изUX.stackexchange что они могут порекомендовать для вашей ситуации с точки зрения UX.
Я не согласен. Вы ссылаетесь на сообщение о "повышении производительности JavaScript" что я не пытаюсь сделать. Это больше похоже на противоположное: поддерживать старые компьютеры, отключив даже одно исчезновение изображения. Понижение планки для всех не является решением. Кроме того, независимо от того, согласны мы или нет, у меня вопрос о том, следует ли измерять производительность JS клиента или нет. Что делать с этим программированием, зависит от них. Yuji 'Tomita' Tomita
Я не говорю, что анимация особенно агрессивна или происходит на другой вкладке. Даже простое изображение исчезнет до 0 непрозрачности, если ваш компьютер будет работать медленно. Есть много медленных компьютеров, выдающихся ситуаций (возможно, вы копируете файлы, смотрите фильм и т. Д.), Где пользовательский опыт будет улучшен за счет постепенного удаления анимации. Если бы я мог это обнаружить, я бы установил скользящую шкалу уровня анимации. Ни один, маленький, и все из. Yuji 'Tomita' Tomita
0

что этот вопрос старый, но я наткнулся на него. Самый простой способ - выполнить длинный цикл и измерить время начала и окончания. Это должно дать вам некоторое представление о производительности Javascript на компьютере.

Имейте в виду, что это может задержать загрузку страницы, поэтому вы можете сохранить результат в файле cookie, чтобы он не измерялся при каждом посещении страницы.

Что-то вроде:

var starttime = new Date();
for( var i=0; i<1000000; i++ ) ;
var dt = new Date() - starttime;

Надеюсь это поможет.

Похожие вопросы