Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Игровой клиент (https://forum.zone-game.info/forumdisplay.php?f=54)
-   -   Лаги при эффектах и одевании итемов. (https://forum.zone-game.info/showthread.php?t=42117)

Mangol 22.02.2017 10:20

Re: Лаги при эффектах и одевании итемов.
 
Цитата:

Сообщение от Gaikotsu (Сообщение 424128)
Оффтоп:
Свернуть ↑Развернуть ↓

nichoci Я не сомневался. Еще пару пачек винтов в тумбочке лежат с аниме.

Мне 1 ТБ достаточно с головой.:redlol:

BeOS 22.02.2017 10:25

Re: Лаги при эффектах и одевании итемов.
 
Цитата:

Сообщение от Gaikotsu (Сообщение 424128)
Оффтоп:
Свернуть ↑Развернуть ↓

ты там что фулл бекапы гохи хранишь?

Gaikotsu 22.02.2017 10:45

Re: Лаги при эффектах и одевании итемов.
 
нет, китайские порномультики

Emperor 22.02.2017 10:58

Re: Лаги при эффектах и одевании итемов.
 
Ну кароче: Лаги при переодевании итемов вылазают из MagicSkillWnd, непосредственно EV_SkillList.

Если дропнуть эвент - FPS не двигается ни на миллиметр, плюс пропали лаги когда люди вокруг меня переодеваются.
Влечёт за собой это лишь мелочь, в виду отсутствия каких-либо скиллов в MagicSkillWnd. Что логично, ведь мы дропнули эвент отвечающий за наполнение.

Как вывод, имею два варианта:
1) Закостылить эвент и запускать его только по кнопке. Назовём это рефрешем. В этом случае скилл-лист обновляется только тогда, когда нажимается кнопка обновления.
Не уверен, что такое вообще реально собрать.

2) Научить MagicSkillWnd не обновлять скилл-лист, когда онное закрыто, а обновлять\обновляться только тогда, когда открылось\открыто.
Этот вариант наиболее адекватен, но, как и стоит полагать - более сложен.

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

Либо с удовольствием почитал бы рассуждения на этот счет, ибо зацепку я нашел.

Emperor 22.02.2017 11:31

Re: Лаги при эффектах и одевании итемов.
 
UPD.

Кароче говоря, руинят всё вот эти 3 товарища:
//		HandleSkillList(param);
//		ComputeItemWndHeight();
//		ComputeItemWndAnchor();
Code: C#
Если закомментить их выполнение в эвенте - всё прекрасно.

Присобачить ComputeItemWndHeight(); и ComputeItemWndAnchor(); на кнопку не проблема (решил пойти путём рефреш-кнопки), но вот с HandleSkillList(param) уже проблема, ругается. Куда смотреть, что думать?

BeOS 22.02.2017 16:29

Re: Лаги при эффектах и одевании итемов.
 
Цитата:

Сообщение от Emperor (Сообщение 424136)
UPD.

Кароче говоря, руинят всё вот эти 3 товарища:
//		HandleSkillList(param);
//		ComputeItemWndHeight();
//		ComputeItemWndAnchor();
Code: C#
Если закомментить их выполнение в эвенте - всё прекрасно.

Присобачить ComputeItemWndHeight(); и ComputeItemWndAnchor(); на кнопку не проблема (решил пойти путём рефреш-кнопки), но вот с HandleSkillList(param) уже проблема, ругается. Куда смотреть, что думать?

я конечно не знаток uscript-a, но может быть проканает нечто такое:
PHP код:

else if (Event_ID == EV_SkillList)
    {
        if (
Drawer.IsShowWindow() == true)
            {
                
HandleSkillList(param);
                
ComputeItemWndHeight();
                
ComputeItemWndAnchor();
            }    
    } 

по крайней мере компилятор собрал без ошибок.

Emperor 22.02.2017 16:42

Re: Лаги при эффектах и одевании итемов.
 
Цитата:

Сообщение от BeOS (Сообщение 424138)
if-(Drawer.IsShowWindow()-==-true)

Только надо не Drawer чекать, а m_wndTop. Drawer - окно заточки умений.

Да, такая конструкция взлетела, что-то я сразу не подумал о IsShowWindow, небольшой тупнячок с ночи, благодарю.

И чё кореяки не сделали тоже самое? На кой обновлять закрытые окна?

BeOS 22.02.2017 16:45

Re: Лаги при эффектах и одевании итемов.
 
Цитата:

Сообщение от Emperor (Сообщение 424139)
Только надо не Drawer чекать, а m_wndTop. Drawer - окно заточки умений.

Да, такая конструкция взлетела, что-то я сразу не подумал о IsShowWindow, небольшой тупнячок с ночи, благодарю.

И чё корейяки не сделали тоже самое? На кой обновлять закрытые окна?

ну я не вглядывался особо. посмотрел, что
PHP код:

Drawer GetWindowHandle"MagicSkillDrawerWnd"); 

а кореяки они такие...

Emperor 22.02.2017 16:50

Re: Лаги при эффектах и одевании итемов.
 
P.S. Подкорректированный класс для тех, у кого возникают подобные проблемы при переодевании итемов\оружия и прочего. Может кому и сгодится.

ЗГ не может в иероглифы, так что куча классных комментариев.
MagicSkillWnd:
Свернуть ↑Развернуть ↓


Глобально не тестировал, но, по видимому, проблема решена. Точнее будет видно через пару дней.

kolibri 22.02.2017 16:56

Re: Лаги при эффектах и одевании итемов.
 
С такой-то проверкой, что будет если активный скилл (ЛС) будет на панели шорткатов и одеть оружие с этим ЛС, скилл обновится?

Добавлено через 3 минуты
m_wndTop.IsShowWindow() == true

хватит и такой проверки: m_wndTop.IsShowWindow()


Текущее время: 04:07. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot