Jump to content
Korean Random
Meddio

[1.0.2.3/8522] Зависание клиента при клике по плитке Боевой задачи (при наличии xtdb в sorting_criteria)

Recommended Posts

Хотел вечером отключить мозг и покатать алкотанк, но instant carma не заставила себя ждать.

 

Словил невиданный до этого глюк - в интерфейсе Боевые задачи (не ЛБЗ, а обычные плитки) при клике по любой плитке БЗ клиент зависает

(не вылетает, а просто перестает отвечать - приходится убивать процесс). xvm.log не пишется вовсе.

 

Несколько десятков перезапусков и несколько сотен нервных клеток спустя...

 

 

Перенес все моды, попробовал чистый XVM версий 7.6.9 и 8520 (которая вроде работала вчера) - все вроде нормально.
Но не тут-то было, оказывается нормально только в default, а с моим конфигом виснет. Ну раз так, начал тестить последнюю - 8522.

Группами начал переносить отличающиеся файлы из моего конфига в default, и с ним - пробовать.
Боевые, косметические, виджеты, наименее вероятные ангарные. Примерно как предполагал, так и вышло.

 

Карусель подозревал сразу, так, как в плитку задачи собственно и лез, чтоб посмотреть список танков, для которых она предназначена.
А там как раз и показываются карусельные плитки (хоть XVM их не меняет в соответствии с carouselNormal).

 

И остался только carousel.xc - блоками перенес отличающийся контент, и осталась только строка sorting_criteria.

 

... нашел виновника. Причина - в критериях сортировки карусели sorting_criteria в carousel.xc (в моем случае - "-xtdb" )

 

 

В дефолтном конфиге все нормально работает с таким значением:

"sorting_criteria": ["type", "-level", "premium"],

В моем конфиге зависало с таким кодом:

"sorting_criteria": ["type", "-level", "-xtdb", "premium"],

убрал "xtdb" - зависания прекратились:

"sorting_criteria": ["type", "-level", "premium"],

 

Видимо, во вчерашнем микропатче добавили что-то, ломающее этот функционал. Или в последних сборках XVM что-то случайно задели.

На прогон со своей старой используемой 8507 уже нервов не осталось.

Edited by Meddio

Share this post


Link to post

Short link
Share on other sites
10 часов назад, Meddio сказал:

не вылетает, а просто перестает отвечать

 

Не смог воспроизвести зависание, все штатно работает.

  • build: 8522
  • cfg: default
  • "sorting_criteria": ["type", "-level", "-xtdb", "premium"],

По крайней мере у меня проблем не замечено, по всем БЗ прошелся, все что можно перетыкал для всей техники что находится в данный момент в ангаре.

Share this post


Link to post

Short link
Share on other sites

Сижу и смеюсь на тем, какой дурной возней я вчера занимался. Как в анекдотах про сисадминов.

Оказалось, это не зависание, а просто большая задержка.

Раньше ее действительно не было, поэтому я воспринял это как общее зависание клиента.

 

Оказывается:

  • и в 8522, и в 8523
  • при "sorting_criteria": ["type", "-level", "-xtdb", "premium"]
  • при первом (после запуска клиента) клике по любой плитке Боевых задач
    • например: Ранговые бои > Награда за усердие, Задачи на выходные > Помощник
  • клиент виснет минимум на 25 секунд (мышь не двигается, ничего сделать нельзя)
  • и только потом появляется окошко боевой задачи
  • а далее, при всех последующих кликах такой задержки нет - всего 2 секунды

НО:

  • если убрать xtdb:   "sorting_criteria": ["type", "-level", "premium"]
  • все задержки, включая первое открытие, одинаковые: 1-2 секунды

 

Поставил старый билд 8507 (под микропатч 1.0.2.2), там вся описанная ситуация повторилась в точности.

То есть, насколько я понимаю, какое-то изменение произошло не в XVM, а в клиенте (1.0.2.2 > 1.0.2.3)

 

Замечания:

  • раньше задержки при первом открытии не было - фриз клиента на полминуты не заметить невозможно
  • вероятной причиной того, что у night_dragon_on задержки не видит, а я вижу, может быть целая уйма танков у меня в ангаре (хотя раньше это проблем с XVM не вызывало)
  • в карусели есть макросы вроде wn8effd, damageRating - тоже никаких проблем не вызывают
  • с помощью WGCheck проверил файлы клиента, все ок

 

Логи без задержки - "sorting_criteria": ["type", "-level", "premium"]

python_normal.log

xvm_normal.log

 

Логи с задержкой - "sorting_criteria": ["type", "-level", "-xtdb", "premium"]

python_delay.log

xvm_delay.log

 

Вообще ничем, кроме временных меток не отличаются.

 

 

PS. Причина такого изменения, конечно интересна. Но для меня это совсем не критично - просто убрал из сортировки xtdb.

Как говорится, нет макроса - нет проблемы :biggrin:

Edited by Meddio

Share this post


Link to post

Short link
Share on other sites

Видимо, задержка возникает при вычитывании досье всех танков. Можно добавить логи, чтобы отловить место, где тормозит.

Share this post


Link to post

Short link
Share on other sites

имеется в виду, в моде добавить лог? или в конфиге где-то включается?

(что-то не нахожу ничего кроме логгирования звуков и подсказок)

Share this post


Link to post

Short link
Share on other sites
24 минуты назад, Meddio сказал:

в моде добавить лог

 

Да

Share this post


Link to post

Short link
Share on other sites

А, ок, буду следить за changelog. Если когда-то дойдет очередь до этой мелочи - обязательно проверю и у себя.

 

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

потерпеть 25 секунд в день можно, если ну вот прям совсем-совсем понадобится этот xtdb или компания (wtr, xte, marksOnGun, damageRating).

 

Главное, что причина ясна, и можно обойти (убрав лишний критерий сортировки).

 

PS. Нашел еще одно место и в интерфейсе, где есть этот фриз. Не на экране Боевых задач, а в интерфейсе Ранговых боев:

 

 

screen-180729-202804.thumb.png.123509fe93b6d53fcffa0893bec12bdf.png

Но задача та же самая, что в Боевых задачах (просто место вызова окошка с информацией - другое):
screen-180729-202815.thumb.png.fbb628e5801b262d89c69cad1122e11b.png

 

Edited by Meddio

Share this post


Link to post

Short link
Share on other sites

вот вот, все равно будет где-нибудь тормозить. а на чистом не фризит в этом окне?

Share this post


Link to post

Short link
Share on other sites

Не, не фризит, ни в чистом клиенте, ни в чистом xvm.

 

Фриз бывает только в одном случае:

- при первом открытии любой задачи

- из любой области клиента

- только при установленном XVM (и только с xtdb конфиге)

 

Если в ранговых боях задачу посмотрели (с фризом), то дальше в обычном интерфейсе боевых задач все окна будут открываться без задержек

и наоборот (посмотрели при старте клиента окно в Боевых задачах с фризом - тогда в ранговых оно будет отрываться быстро)

 

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

 

 

 

 

----ОФФТОП ------------------------------

 

Кстати, пока смотрел в Ранговых defaut, а затем мой конфиг, заметил две особенности:

 

1) в defaut ангарный виджет Общая статистика ( widgetsTemplates -> statistics ) находится в тех же координатах,

где WG рисует бейдж ранга, поверх него

 

2) Cписок серверов для выбора в режиме Ранговых боев соответствует настройке login -> disabledServers.

(для меня - фича, но кому-то может показаться багом)

 

Подробности / скриншоты

 

 


"disabledServers": []

 

screen-180730-022415.png.a9cf50076920f23b620366dd08d8fd42.png

"disabledServers": ["RU3", "RU4", "RU8", "RU9", "RU10"]

 

screen-180730-022939.png.d480fbd9286c4beebe9aeba275aff81d.png

Если у кого-то сервера 5, 6 и 8 случайно отфильтрованы в disabledServers, список серверов будет вообще пустым.
И этот кто-то не сможет воспользоваться ранговыми боями по не совсем очевидной причине.
Хотя с точки зрения XVM и конфига все логично (а мне - даже удобно).

 

 

Проверил, как это будет :  "disabledServers": ["RU5", "RU5", "RU8"]

 

Картина маслом:

screen-180730-024903.png.6d98d5c7670a05914e7a276e46e1940f.png

 

А кнопка Продолжить выбрасывает на экран логина (где в списке тоже нет этих серверов).

Умный пользователь XVM догадается, что дело в disabledServers, но разное бывает.

 

 

Эта моя хотелка disabledServers еще долго будет аукаться в клиенте. Если что, как-нибудь переживу,

если этой функции не будет. Главное, чтоб работы лишней не доставляло исправление/обход таких-вот мелочей.

 

надо для особенностей (проявившихся в Ранговых) делать тему? или упоминания здесь достаточно?

 

 

PS. всегда хотел узнать, а почему при работающем XVM значения пинга во всех стандартных местах клиента - такие большие

(скажем, 228 вместо настоящего пинга 26)?

Edited by Meddio

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...