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

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

Zubastic 10.04.2016 08:39

Re: Патч от Hool1gan(антирелог)
 
У меня есть предположение, что это связано с тем, что клиент выгружает неиспользуемые пакеты, однако используемые разбухают из-за чего фпс садится, однако прямой аналогии тут врядли можно достичь.

ChiF 11.04.2016 18:06

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от Zubastic (Сообщение 409851)
Вообщем научил я клиент чистить память, но к великому сожалению никаким способом кроме релога повысить фпс не удалось. Фпс проседает стабильно и только релог способен восстановить.

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

Zubastic 11.04.2016 20:43

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от ChiF (Сообщение 409941)
а как это реализовано на год+ хрониках? там же вроде как когда все забилось, можно сделать простой телепорт, и клиент не виснет наглухо пока помять не очиститься, а все быстренько происходит, и релог особо не нужен.

Каких именно? В линдвиоре они пакетку переписали плюс множество оптимизаций.

ChiF 12.04.2016 16:48

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от Zubastic (Сообщение 409968)
Каких именно? В линдвиоре они пакетку переписали плюс множество оптимизаций.

в эпизодиане, он после линдвиора идет, вот в них уже полегче намного.

L2Patch 28.05.2016 16:47

Re: Патч от Hool1gan(антирелог)
 
--

luslighter 28.05.2016 16:49

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от L2Patch (Сообщение 412821)
Так называемый кэш забивается по причине того, что эффект от скила не удаляется. Есть такие параметры ForcedLifeTime и ForcedFade. Они присутствуют только в касте скила например wh_heal_ca. Данный параметр нужен для того, чтобы когда используешь скил под разным кастом, чтобы анимация длилась пока он кастует и заканчивалась ровно в тот момент когда заканчивается каст. Без данного параметра можно указать только статическое время которое будет показываться анимация. Например укажем время показа анимации 2 секунды, и если чар будет кастовать дольше (5 сек), то анимация исчезнет всё равно через 2 секунды. Не знаю почему, но данная функция как будто оставляла следы, не удаляя анимацию. И если юзать один и тот же скил то создается много таких эффектов (частиц), которые нагружают процессор, при этом их не видно визуально, но они есть. Чтобы в этом убедиться сделайте какую-нибудь анимацию и укажите ей время например на 2 часа. Юзаете один раз, анимация на вас висит, юзаете второй раз, уже 2 анимации на вас, аналогично с данным параметром (ForcedLifeTime и ForcedFade). С каждым разом количество анимации больше и больше. Релог убирает все анимации. Как сделать антирелог? Во всех кастах скилов отключить параметры ForcedLifeTime и ForcedFade и готово. Есть конечно скилы с такими же параметрами, но не забивают кэш, поэтому нужен тест. Я на данный момент сделал фикс всех основных скилов которые забивали фпс. Тест сделан кланом в составе 4 фулок, без фикса фпс через 2 мин забит и показывает 8 кадров. С патчем фпс не забивается и минимальный показывает 20 кадров.

Это не фикс а костыль, нудаладно.

L2Patch 28.05.2016 16:53

Re: Патч от Hool1gan(антирелог)
 
--

luslighter 28.05.2016 17:35

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от L2Patch (Сообщение 412823)
Можешь переписать lineageefect и всё равно придется использовать данный параметр, или не использовать. Результат очевиден. Используешь данные параметры - получаешь забив фпс, не используешь - играешь без релогов. Главное то, что это работает. А игроки разницы не заметят.

Это костыль :redlol: чтобы была разница нужно воротить движок, то что ты предлагаешь создает еще большие проблемы в виду рассинхрона, ты же значение указываешь от балды.

Zubastic 28.05.2016 18:10

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от luslighter (Сообщение 412827)
Это костыль :redlol: чтобы была разница нужно воротить движок, то что ты предлагаешь создает еще большие проблемы в виду рассинхрона, ты же значение указываешь от балды.

Ты что! Это великий фикс :redlol:
Который нихрена не помогает :)

Emperor 28.05.2016 18:13

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от luslighter (Сообщение 412827)
Это костыль чтобы была разница нужно воротить движок, то что ты предлагаешь создает еще большие проблемы в виду рассинхрона, ты же значение указываешь от балды.

Подожди, ещё пару эмиттеров подправит и версию 2 выложит.

luslighter 28.05.2016 18:32

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от L2Patch (Сообщение 412823)
Можешь переписать lineageefect и всё равно придется использовать данный параметр, или не использовать. Результат очевиден. Используешь данные параметры - получаешь забив фпс, не используешь - играешь без релогов. Главное то, что это работает. А игроки разницы не заметят.

Слушай а ты кстати не тот клоун от программинга ? артемка хулиган kappa

админ с той группы что крысят патчи и наработки и выдают за свои.

L2Patch 28.05.2016 18:38

Re: Патч от Hool1gan(антирелог)
 
--

Shell 28.05.2016 21:03

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от L2Patch (Сообщение 412833)
Великий не великий а работает.

Ты что-то выпускал новое после этого поста?
https://forum.zone-game.info/showpos...5&postcount=77

L2Patch 29.05.2016 12:43

Re: Патч от Hool1gan(антирелог)
 
--

Respect 30.05.2016 02:15

Re: Патч от Hool1gan(антирелог)
 
:facepalm:

Zubastic 30.05.2016 11:49

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от luslighter (Сообщение 412832)
Слушай а ты кстати не тот клоун от программинга ? артемка хулиган kappa

админ с той группы что крысят патчи и наработки и выдают за свои.

https://vk.com/l2patch
этой видимо? :)

https://vk.com/topic-110134558_33992153

вот это просто :redlol::redlol::redlol:

luslighter 30.05.2016 12:14

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от Zubastic (Сообщение 412908)
https://vk.com/l2patch
этой видимо? :)

https://vk.com/topic-110134558_33992153

вот это просто :redlol::redlol::redlol:

Бизнесмен, вон уже барыжит kappa

Ну и собственно сам чудо "разраб" kappa https://vk.com/rezzimx

L2Patch 07.06.2016 15:29

Re: Патч от Hool1gan(антирелог)
 
--

luslighter 07.06.2016 15:39

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от L2Patch (Сообщение 413231)
Спасибо за спойл)))

У меня есть отличная новость. Я нашел причину, реальную причину. И это уже не костыли как вы назвали предыдущие мои изменения. И не нужно переписывать никакой движок, и колупать тем более. Да я и не говорил, что я супер мего разработчик. Я просто решил проблемку, которую до этого момента еще никто не решил и всё.

Добавлено через 1 минуту
Я бы хотел тут расписать как и что, но вы и так уже закидали меня минусами и всем чем только можно. Так что думаю бесполезно.

Зря ты думаешь что это кому то реально надо, все эти сервера с Over 90000 Статами, собирают максимум 1000 рыл, а так от силы 200, так что толку на них потеть ?

L2Patch 07.06.2016 15:43

Re: Патч от Hool1gan(антирелог)
 
--

luslighter 07.06.2016 15:52

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от L2Patch (Сообщение 413234)
Да есть же сервера где онлайна и побольше, например кетра, на баюме бывало до 300 доходило, на валике около 400-500. Ну заведи например фулку, и просто пусть все баттлхилом себя похилят. Потом из моей группы скачай патч, и похильтесь с ним. С моим патчем фпс не будет забиваться, а с обычным уже через 1 минуту сядет до 10-20. Так это только 1 фулка, а прикинь если больше и каждый постоянно что-то юзает. Нужен релог.

Добавлено через 4 минуты
Зубастик тоже блин, сначала отписал мне в лс, типа ой скажи да расскажи, а теперь поливает грязью, так еще и не правду говорит. Пусть каждый запустит патч и посмотрит разницу. Правда в версии 3.0 не полностью пофикшено, но разницу вы увидите и очень даже большую.

Опять же говорю - когда это кому то будет реально нужно, может и заюзают твой "Патчик" , а скорее найдут реальную первопричину и пофиксят таким образом чтобы работало только у них, ибо то что ты мутишь это не есть реальный фикс, а больше похоже на борьбу с ветряными мельницами, в первой версии не вышло ну так третью выпущу там точно прокатит, а что выпускает - как это реально отражается в движке ты никакого понятия не имеешь. А раз не имеешь ты не видишь первопричину проблемы(именно в коде), все это тупо твои предположения, так можно вечно выпускать патчи толку 0 будет.

n3k0nation 07.06.2016 18:53

Re: Патч от Hool1gan(антирелог)
 
Реальная причина такова, что из скриптов, это уж никак не пофиксить :D
У ладвы есть менеджемент хип, который используется для скриптовых объектов, а так же для объектов движка игры. Туда впиливаются текстуры, модели и много др. фигни. Реальная очистка хипа происходит при запуске сборщика мусора, который запускается только при загрузке уровня игры с нуля.
Есть аж несколько причин почему FPS падает:)
Первая из них - какие-то эффекты не возвращаются в пул (на более новых версиях клиента пофикшено).
Вторая причина - фрагментация менеджемент хипа.
Третья причина - загрузка левела, с нуля, происходит не то что редко, а очень редко, из-за чего запуск GC становится манной небесной.
Четвертая причина - тупенький GC, который неумет разбирать сложные ссылки.

Данные дефекты могут пофиксить только корейцы и только они, но уж ни как не парень "вася", который чето там подредактировал в скриптах :D Максимум, это исправить первую причину, которая лишь отсрочит "конец".
Реальный вариант исправить "это" - вручную вызывать перезагрузку левела (при том надо дать серверу знать, что клиенту требуется заного переслать все объекты в регионе), попутно перефигачив половину core.dll & engine.dll.

И да, ручной запуск GC, в процессе игры, выгрузит все загруженные ресурсы, поэтому такой вариант не канает.

FaintSmile 07.06.2016 19:02

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от n3k0nation (Сообщение 413248)
при запуске сборщика мусора

Щас бы имея возможность полного ручного контроля за памятью сборщики мусора вызывать. Эх корейцы, всё на скорую руку, лишь бы работало. Хотя, кого-то они мне напоминают kappa

luslighter 07.06.2016 19:34

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от n3k0nation (Сообщение 413248)
Реальная причина такова, что из скриптов, это уж никак не пофиксить :D
У ладвы есть менеджемент хип, который используется для скриптовых объектов, а так же для объектов движка игры. Туда впиливаются текстуры, модели и много др. фигни. Реальная очистка хипа происходит при запуске сборщика мусора, который запускается только при загрузке уровня игры с нуля.
Есть аж несколько причин почему FPS падает:)
Первая из них - какие-то эффекты не возвращаются в пул (на более новых версиях клиента пофикшено).
Вторая причина - фрагментация менеджемент хипа.
Третья причина - загрузка левела, с нуля, происходит не то что редко, а очень редко, из-за чего запуск GC становится манной небесной.
Четвертая причина - тупенький GC, который неумет разбирать сложные ссылки.

Данные дефекты могут пофиксить только корейцы и только они, но уж ни как не парень "вася", который чето там подредактировал в скриптах :D Максимум, это исправить первую причину, которая лишь отсрочит "конец".
Реальный вариант исправить "это" - вручную вызывать перезагрузку левела (при том надо дать серверу знать, что клиенту требуется заного переслать все объекты в регионе), попутно перефигачив половину core.dll & engine.dll.

И да, ручной запуск GC, в процессе игры, выгрузит все загруженные ресурсы, поэтому такой вариант не канает.

Это бред, достаточно вызывать Garbage Collector, нежели инициировать прогрузку уровня, это ведь затрагивает пакетку и много еще чего, но опять же стоит ли оно того(как ты определишь когда именно это должно произойти) ?

Ну и саму проблемы ты очень плохо описал, если простым языком, то объекты грузятся в память - по несколько раз, и не как оттуда не выгружаются, поскольку клиент не как это не регулирует(в плане источника - все очень разобщено(т.е не важно грузиться текстура либо скелетная модель, либо эмитер) все идет в общий поток, и на сколько я понял как раз эмитеры не передают флага - на выгрузку из памяти(когда игрок заюзал какой то скилл, предыдущий эмиттер остается) ибо время выполнения анимации скила - имеет не фиксированное значение, т.е от скила к скилу оно разное. А вот как это объяснить движку и стоит ли вообще - совсем другой вопрос.

Цитата:

Сообщение от Connie (Сообщение 413249)
Щас бы имея возможность полного ручного контроля за памятью сборщики мусора вызывать. Эх корейцы, всё на скорую руку, лишь бы работало. Хотя, кого-то они мне напоминают kappa

Что за чушь - причем тут корейцы ? Архитектура движка это прямое наследие Epic Games, во всех играх на этом движке так же, если ничего не менять - целенаправленно.

n3k0nation 07.06.2016 19:37

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от Connie (Сообщение 413249)
Щас бы имея возможность полного ручного контроля за памятью сборщики мусора вызывать. Эх корейцы, всё на скорую руку, лишь бы работало. Хотя, кого-то они мне напоминают kappa

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

Добавлено через 2 минуты
Цитата:

Сообщение от luslighter (Сообщение 413250)
Это бред, достаточно вызывать Garbage Collector, нежели инициировать прогрузку уровня, это ведь затрагивает пакетку и много еще чего, но опять же стоит ли оно того(как ты определишь когда именно это должно произойти) ?

Дизассемблер в руки и вперед, узнавать новые горизонты и почему нельзя просто вызвать GC (и к каким последствиям это приведет).
Даю подсказку: краш. Почему? Все отлично описано в моем посте выше.


Цитата:

Сообщение от luslighter (Сообщение 413250)
Ну и саму проблемы ты очень плохо описал, если простым языком, то объекты грузятся в память - по несколько раз, и не как оттуда не выгружаются, поскольку клиент не как это не регулирует(в плане источника - все очень разобщено(т.е не важно грузиться текстура либо скелетная модель, либо эмитер) все идет в общий поток, и на сколько я понял как раз эмитеры не передают флага - на выгрузку из памяти(когда игрок заюзал какой то скилл, предыдущий эмиттер остается) ибо время выполнения анимации скила - имеет не фиксированное значение, т.е от скила к скилу оно разное. А вот как это объяснить движку и стоит ли вообще - совсем другой вопрос.

А теперь идем читать, что такое управляемый хип под контролем GC и как работает GC.
Вы можете сколько угодно устанавливать флаги в объектах (в объектах, КАРЛ!), только вот от фрагментации и от занятости памяти этими объектами, это не спасет.

luslighter 07.06.2016 19:48

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от n3k0nation (Сообщение 413251)
Это, кстати, нормальная практика. Единственное, что не нормально - то что при телепорте не происходит нормальная сборка мусора (т.к. там по сути можно вообще почти все выгрузить).

Добавлено через 2 минуты

Дизассемблер в руки и вперед, узнавать новые горизонты и почему нельзя просто вызвать GC (и к каким последствиям это приведет).



А теперь идем читать, что такое управляемый хип под контролем GC и как работает GC.
Вы можете сколько угодно устанавливать флаги в объектах (в объектах, КАРЛ!), только вот от фрагментации и от занятости памяти этими объектами, это не спасет.

Я не вдавался в это все на столько - насколько нужно, ибо мне это нафиг не надо.
Но если бы такая потребность возникла, решалась бы она примерно по такой схеме(С проработкой механизма Garbage Collectora) возможно еще что-то, да я бы убил не мало времени на все это, но в целом это задача решаема(без костылей вроде перезагрузки всего уровня, который как раз запускает Garbage Collector и опять же, объясни мне как ты будешь определять когда нужно перезагрузить уровень, а когда нет ?)

n3k0nation 07.06.2016 19:49

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от luslighter (Сообщение 413250)
Что за чушь - причем тут корейцы ? Архитектура движка это прямое наследие Epic Games, во всех играх на этом движке так же, если ничего не менять - целенаправленно.

Потому-что в ладве используется свой сборщик мусора и это далеко не наследие Unreal Engine.

Добавлено через 9 минут
Цитата:

Сообщение от luslighter (Сообщение 413254)
Я не вдавался в это все на столько - насколько нужно, ибо мне это нафиг не надо.
Но если бы такая потребность возникла, решалась бы она примерно по такой схеме(С проработкой механизма Garbage Collectora) возможно еще что-то, да я бы убил не мало времени на все это, но в целом это задача решаема(без костылей вроде перезагрузки всего уровня, который как раз запускает Garbage Collector и опять же, объясни мне как ты будешь определять когда нужно перезагрузить уровень, а когда нет ?)

фамильярность:
Свернуть ↑Развернуть ↓


Вы походу вообще не въежаете о чем речь. Окей, я объясню подробно.

При вызове GC будет очищен выделенный хип, это означает:
1. Текстуры
2. Модели
3. Скриптовые объекты
4. Карты
5. ???
Будут ВЫГРУЖЕНЫ. Указатели на них могут сохраниться, где-то в недрах движка игры (unsafe, такой unsafe) и при обращении к памяти, где был раньше объект, либо ресурс, мы получим мусор. Далее поведение неопределенно, но, в большинстве случаев, это краш.
Это понятно? Идем дальше.

При загрузке нового левела игры, мы выгружаем старый, в этот момент, после выгрузки, мы по хорошему, должны запустить GC, а так же почистить указатели, там где требуется и уже после этого вгружать новый уровень. Все эти действия происходят при:
1. Телепорте (только GC не вызывается, плюс остаются референсы)
2. Входе в игру
3. Выходе из игры

Вы бы убили всю свою жизнь, но не починили бы это, я это гарантирую. Вы даже не понимаете о чем идет речь:D
Хотя, давайте попробуем. Вот флаг/маска, который должен передаваться на вызов GC, при телепорте: 67108864u, ах да, не забываем, что вызов GC деклалирован thiscall и нужно передавать в ecx указатель на объект. Если у Вас получится, то с меня пиво, в хорошем баре.

Я даже облегчу задачу, вот код вызова GC, для Interlude:
Свернуть ↑Развернуть ↓

Emperor 07.06.2016 20:23

Re: Патч от Hool1gan(антирелог)
 
n3k0nation, Почему никто из вас ещё не перепилил эту систему? Зубастик что-то пытался, но у него быстро иссяк энтузиазм.

Zubastic 07.06.2016 20:28

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от Emperor (Сообщение 413261)
n3k0nation, Почему никто из вас ещё не перепилил эту систему? Зубастик что-то пытался, но у него быстро иссяк энтузиазм.

Разобрались, но выхлоп мне не особо понравился. Забил на это :)

luslighter 07.06.2016 20:45

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от n3k0nation (Сообщение 413255)
Потому-что в ладве используется свой сборщик мусора и это далеко не наследие Unreal Engine.

Добавлено через 9 минут

фамильярность:
Свернуть ↑Развернуть ↓


Вы походу вообще не въежаете о чем речь. Окей, я объясню подробно.

При вызове GC будет очищен выделенный хип, это означает:
1. Текстуры
2. Модели
3. Скриптовые объекты
4. Карты
5. ???
Будут ВЫГРУЖЕНЫ. Указатели на них могут сохраниться, где-то в недрах движка игры (unsafe, такой unsafe) и при обращении к памяти, где был раньше объект, либо ресурс, мы получим мусор. Далее поведение неопределенно, но, в большинстве случаев, это краш.
Это понятно? Идем дальше.

При загрузке нового левела игры, мы выгружаем старый, в этот момент, после выгрузки, мы по хорошему, должны запустить GC, а так же почистить указатели, там где требуется и уже после этого вгружать новый уровень. Все эти действия происходят при:
1. Телепорте (только GC не вызывается, плюс остаются референсы)
2. Входе в игру
3. Выходе из игры

Вы бы убили всю свою жизнь, но не починили бы это, я это гарантирую. Вы даже не понимаете о чем идет речь:D
Хотя, давайте попробуем. Вот флаг/маска, который должен передаваться на вызов GC, при телепорте: 67108864u, ах да, не забываем, что вызов GC деклалирован thiscall и нужно передавать в ecx указатель на объект. Если у Вас получится, то с меня пиво, в хорошем баре.

Чувак ты вроде меня не понял, я тебе сразу сказал мне нафиг не сдалась эта фигня(может в будущем еще столкнусь).
И на счет GarbageCollector, он весь завязан на флагах, и обрабатывает все глобальные объекты, с пометкой GExitPurge(требующие выгрузки) RF_Native(загруженные в память)P.S> тот самый 67108864u, я не очень уверен что в самом классе эмиттеров - существует обработчик который эти самые флаги устанавливает, если условия соблюдены(к примеру объект создан), но скорее это в каком то более глобальном классе(Ибо только благодаря этим флагам происходит выгрузка из памяти по средствам GarbageCollect(по средствам того хука ты говоришь ему что все объекты с флагом native(т.е память), должны быть выгружены),и вообще их можно устанавливать и раньше и вызывать Destroy() намного раньше, но вот толку ? ).
А решил бы я это как раз допиливанием класса эмитеров, и самого метода очистки, ибо он предназначен для более простой работы - нежели той где этот самый класс вызывают over9000 раз воимя хила ! Естественно он запускает рендер этих самых 9000 Объектов, тем самым грузит систему, и удаляет он их медленее чем они создаются, а возможно даже и не просчитывается это ввиду слишком быстрого запроса(отсюда и весь баг).
Короче говоря это можно сделать(и без костылей, по канону), было бы желание.

FaintSmile 08.06.2016 04:33

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от n3k0nation (Сообщение 413251)
Это, кстати, нормальная практика. Единственное, что не нормально - то что при телепорте не происходит нормальная сборка мусора (т.к. там по сути можно вообще почти все выгрузить).

Клиент вызывает GC из-за нажатия кнопок в самом клиенте (релог) или из-за получения соотв отклика от сервера? Может можно фейковый пакет при телепорте просто ему отсылать и всё на этом?

krisadr 08.06.2016 05:48

Re: Патч от Hool1gan(антирелог)
 
нет, но можно попробывать сделать реализацию "быстрого релога" при телепортации вместо пакета телепортации посылать пакет релога, а как тп завершится посылать пакет входа в игру... персонажа которым играли... тоесть со стороны сервера ты как бы телепортируешся а со стороны клиента ты как бы вышел в релог и сразу же зашел... короче не знаю как у клиента будет выглядит но думаю забавно xDD

HiredKiller 08.06.2016 08:07

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от krisadr (Сообщение 413282)
нет, но можно попробывать сделать реализацию "быстрого релога" при телепортации вместо пакета телепортации посылать пакет релога, а как тп завершится посылать пакет входа в игру... персонажа которым играли... тоесть со стороны сервера ты как бы телепортируешся а со стороны клиента ты как бы вышел в релог и сразу же зашел... короче не знаю как у клиента будет выглядит но думаю забавно xDD

и получим новые баги и дополнительное время при прогрузе после тп

Zubastic 08.06.2016 12:04

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от krisadr (Сообщение 413282)
нет, но можно попробывать сделать реализацию "быстрого релога" при телепортации вместо пакета телепортации посылать пакет релога, а как тп завершится посылать пакет входа в игру... персонажа которым играли... тоесть со стороны сервера ты как бы телепортируешся а со стороны клиента ты как бы вышел в релог и сразу же зашел... короче не знаю как у клиента будет выглядит но думаю забавно xDD

Все немного проще :)

n3k0nation 08.06.2016 14:19

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от Emperor (Сообщение 413261)
n3k0nation, Почему никто из вас ещё не перепилил эту систему? Зубастик что-то пытался, но у него быстро иссяк энтузиазм.

Для этого надо очень хорошо распиливать движек игры. Для этого нужна огромная куча времени и хороший скилл. Ни первого, ни второго, у меня нет.

Цитата:

Сообщение от Connie (Сообщение 413275)
Клиент вызывает GC из-за нажатия кнопок в самом клиенте (релог) или из-за получения соотв отклика от сервера? Может можно фейковый пакет при телепорте просто ему отсылать и всё на этом?

По пакету. Это как-то совсем костыльно. Как мне кажется, игроки не особо оценят такую заботу о их FPS:)

Вообще, как вариант, менее костыльный, но все равно, костыльный, можно попробовать разгрузить BSP дерево, просто выпиливая оттуда не нужные объекты. Но память, все равно, закончится когда-нибудь, да.

Zubastic 08.06.2016 14:49

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от n3k0nation (Сообщение 413304)
По пакету. Это как-то совсем костыльно. Как мне кажется, игроки не особо оценят такую заботу о их FPS:)

Можно с помощью dll вызывать гс через некоторые периоды времени. Однако это вкус каждого.

FaintSmile 08.06.2016 15:08

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от n3k0nation (Сообщение 413304)
По пакету. Это как-то совсем костыльно. Как мне кажется, игроки не особо оценят такую заботу о их FPS:)

Вполне рабочий вариант. В ява сборках л2 всё на этом же уровне сделано.:redlol:

luslighter 08.06.2016 15:16

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от Connie (Сообщение 413311)
Вполне рабочий вариант. В ява сборках л2 всё на этом же уровне сделано.:redlol:

Чушь несешь ей богу.

FaintSmile 08.06.2016 15:23

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от luslighter (Сообщение 413313)
Чушь несешь ей богу.

А что не так? Костыль на костыле, костылем погоняет, какую сборку ни возьми. Везде либо сделано криво, либо вообще не сделано.

luslighter 08.06.2016 15:36

Re: Патч от Hool1gan(антирелог)
 
Цитата:

Сообщение от Connie (Сообщение 413314)
А что не так? Костыль на костыле, костылем погоняет, какую сборку ни возьми. Везде либо сделано криво, либо вообще не сделано.

Это чисто клиентская особенность, а ты хочешь фиксить сервер ....

Если говорить простым языком - клиент получает Over9000 запросов на рендер эмитеров, и тем самым виснет - не успевая обработать, каким боком тут сервер :Olen':


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

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