Предотвращение мерцания обновлений лихого виджета

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

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

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

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


person Alex Arthur    schedule 13.11.2017    source источник


Ответы (1)


Что вы испытываете, так это то, что браузер перерисовывает элементы каждый раз, когда вы отправляете событие обновления с сервера. К сожалению, некоторые лихие виджеты не учитывают это по умолчанию. Однако я могу предложить вам пример решения для виджета списка. Виджет исходного списка перерисовывает полный список каждый раз, когда происходит обновление со стороны сервера. Чтобы избежать этого, нужно заранее создать элементы списка и обновить значения в строке, чтобы виджет отображался без мерцания.

Здесь вы можете немедленно проверить решение, поэтому в основном вам следует изменить код coffeescript виджета, который мерцает

person Kıvanç Sahici    schedule 08.01.2018