Как стать автором
Обновить

Комментарии 9

Отключить CSS-анимацию — браузер и так это сделает за вас
Отключить 3D-анимацию — аналогично
Снизить частоту обращений к серверу (для realtime приложений) — у нас же сокеты, какие обращения?
Поставить воспроизведение видео/аудио на паузу — покрути мышкой чтобы прослушать ещё минуту музыки?
Для любых приложений полезно отключать обращения к серверу, если запрашиваемые данные не нужны в данный момент. Например, вкладка браузера не активна — пользователь все равно не увидит этих данных.

А вот с ресурсами на рендеринг и отображение — спорно. Браузер сам должен этим управлять. Как и сказано выше.
Это справедлво лишь для отображения, а как быть с реакциями — ведь тогда приложение пропустит какие-то данные. Да и если их получать по активности юзера, а сам получение затратно по времени — получаем на выходе более медленную работу.
Это уже взгляд с другого ракурса. Вы говорите о ситуации, когда «есть важные данные, и обязательно надо обратить внимание пользователя на них».

Да и если их получать по активности юзера, а сам получение затратно по времени — получаем на выходе более медленную работу.

Извиняюсь, не уловил смысла
Смотрите, вот пример с моей работы текущей. У нас браузерный терминал для финансового рынка. Одна из сущностей — стакан по инструменту (по простому — встречные списки всех заявок на покупку и продажу, обычно топ-10/20/50). Он обновляется в реальном времени, и данные по открытому стакану постоянно идут на клиента — все отлично, мигает, данные прыгают, клиент доволен.

Но эта сущность достаточно тяжелая — и в плане получения, и в плане обработки. Если, к примеру, приостанавивать подписку, когда юзер скрывает таб, к примеру, то при переключении его активности назад — пока мы восстановим ее, пока сервер подготовит новые данные, пока они придут, пока отрендерим — а юзер воспринимает это как «система тормозит» или «ваши данные с задержкой».

Кстати, еще вопрос — а как система активности работает в случае N-мониторной конфигурации — когда окно этой страницы браузера вынесено на второй экран, а работа продолжается в другой вкладке?
Вполне допускаю, что «непрерывные инкрементарные обновления» могут быть предпочтительнее, чем «периодические полные обновления». И конкретно в вашем случае — это может быть вполне обоснованно. Но, тем не менее — это редкий случай.

А мы говорим в общем, что «отключать обращения к серверу, если запрашиваемые данные не нужны в данный момент» — это полезно.
(в вашем случае, получается, что нужны всегда)

На N-мониторной конфигурации — не сталкивался, теперь придется проверять :)
да, полностью согласен — это особый случай. Но, мне кажется, вообще такие мысли возникают на больших системах, а каждая такая система в вебе — это отдельные подходы, сильна завязанные на специфику.

Да, с мониторами интересно, отпишитесь, если попробуете, буду очень благодарен.
Друзья,
Активным будет считаться то окно и вкладка которое в находится в области видимости пользователя. Т.е. Когда на рабочем столе (2х или 3х рабочих столах) открыто множество окон/вкладок браузера, все окна/вкладки будут являться ровно до тех пор пока их видит пользователь, до закрытия/сворачивания или перекрытия поверх другим окном.
Тестировал на MacOS (Chrome, Safari, Firefox в крайних версиях) как на одном, так и на 3х мониторах
Понял, спасибо. Увы, такое поведения для многих специализированных система неподходит :(
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории