Страница 1 из 1

Ошибка отображения очереди построек кораблей

Добавлено: 09 ноя 2023, 09:02
Alter.Ego
Ник: Alter.Ego
Сервер: Альфа
Версия движка: 46a53-10
Версии базы данных: 45p10


Суть в чём.
Ставлю в очередь постройку кораблей. При переходе на другую страницу (например, на обзор планет) и обратно, выдаётся различное количество кораблей в очереди (обвёл красным для понимания).

Сначала эта разница в 1-2 кораблей, затем увеличивается и увеличивается с течением времени.

Re: Ошибка отображения очереди построек кораблей

Добавлено: 09 ноя 2023, 11:33
Han
В качестве предположения. Верхняя панель присутствует на большинстве окон и запрос к базе делать не надо, она как открылась, так уже и тикают секунды постройки.

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

Но это все же предположение, может я неправ.

Re: Ошибка отображения очереди построек кораблей

Добавлено: 20 ноя 2023, 00:37
Gorlum
Han писал(а): 09 ноя 2023, 11:33 В качестве предположения. Верхняя панель присутствует на большинстве окон и запрос к базе делать не надо, она как открылась, так уже и тикают секунды постройки.

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

Но это все же предположение, может я неправ.
Прав. Это - два разных JS-таймера, несинхронизированны. Разница в 2с указывает на очень долгое соединение.

Пока оставлю это тут - я не вижу, как этом можно решить без переписывания здоровенных кусков. Но это, в общем-то, объективно баг.