На нашей панели инструментов есть три относительно ресурсоемких графика:
- два графика изображений (200x200x3)
- пользовательский график инструмента расширения (200x200x4).
Мы «обновляем» (отправляем данные) их от doc.add_next_tick_callback
с.Мы попали в странную ситуацию, когда графики image
, кажется, работают в течение доли секунды, а затем приходит сообщение веб-сокета, которое стирает все в их буфере.
Мы отследили фронтенд и бэкэнд, и кажется, что: *Интерфейс 1013 *
- инициализируется с пустыми буферами (хорошо) * Интерфейс 1016 *
- отправляет PATCH-DOC обратно с пустыми буферами
- , в то время как обновление фактических данных поступает изсервер (который заставляет изображения работать в течение доли секунды)
- наконец, пустой PATCH-DOC отправляется обратно во внешний интерфейс для сброса наших цифр.
Мы подробно изучили кодовую базу внешнего интерфейса,и обнаружил, что когда мы удалили
this.send(patch_message)
из connection.ts
строки 166, наша проблема исчезла.
Что может быть причиной такого поведения пинг-понга?
Может ли это быть ошибкой или мы что-то сделали не так?
Протестировано на Bokeh версии 1.0.4