|
|
|
Fps И Uo |
|
|
TeS |
5.8.2016, 22:18
|
Grandmaster
Сообщений: 1.843
Регистрация: 10.2.2007 Группа: Пользователи Наличность: 0 Из: Южное Бутово
Пользователь №: 9.448
Возраст: 21
|
Цитата(StaticZ @ 5.8.2016, 13:50) Ну-ну, владельцы UO уже 3й раз разрабатывают новый клиент и пытаются им заменить классик, чтобы списать его, вот только он до сих пор пользуется большой популярностью. Да и не саллосом единым жив интернет - есть ИРИС2, есть ХНЯ, есть Флюрка и тд и тп. Конечно желаю успехов с клиентом, но я бы не стал рассчитывать на то что кастомный клиент повсеместно заменит оригинальный клиент. В конце концов одна привычка огромная сила - если вы привыкли к чему-то то переходить на другое ПО не станете пускай даже оно во всем лучше, зачем если вы уже привыкли к старому и вас все устраивает.
PS Кстати Iris2 тоже Open source, хотя честно говоря проще свой клиент написать чем разобраться в их коде )))
у ириса был визуально прикольный 2д клиент , даже забавная попытка с 3д где можно было увидить небо .. но чето у них не пошло и уже лет 5 все замороженно ( А привыкли люди не к клиенту, а к асистам которых новое клиенты соотвецно поддерживать не будут .. вот взять реборн вроде нече такой , кучу графики добавили , возможностей .. но вот асистов на него не добавили и некто на нем не играет )
--------------------
ОперацияУтринникЮжноеБутовоРожиВсалатПрибылиКрута ПохватилиТопорыПолетелиВлесБульварДонсковаЧечерскийПроезд ВотЭтоЯназываюЭкшенРезатьМачитРубить:)
|
|
|
|
StaticZ |
6.8.2016, 17:59
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(ЖаК @ 6.8.2016, 16:50) К этому состоянию ведут многие действия, так что это капля в море. Грубо говоря, достаточно уменьшить физически анимации передвижений и получить тот же результат
Тогда уж не уменьшить а увеличить в два раза, иначе у вас скорость анимации увеличиться не в 2 а в 4 раза. При этом мулы распухнут в два раза, учитывая что последние клиенты весят 2 GB из которых 1 GB анимация в результате получим 3 GB и клиент не сможет запуститься т.к. ему не будет хватать адресного пространства (обычное 32 битное приложение не может адресовать больше 2 GB). Кроме того это не решает проблем со звуком, периодического подергивания при перемещении и прочего, не говоря уже о том что придется делать по два клиента для использования FPS патча и нет, так как подобный изменения на клиентах без оного патча превратят движение в слоумо. Но главное - все всегда можно исправить, доработать и улучшить, вот только покажите кто этим занимается. FPS патчу много лет а никаких подвижек в его развитии и доработке нет.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
StaticZ |
6.8.2016, 21:48
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Juzzver @ 6.8.2016, 21:06) Почему не будет хватать? Клиент ведь не будет загружать в память все данные сборки.
Адресное пространство не является синонимом используемой оперативной памяти. При запуске клиент проецирует все данные (ну кроме музыки, видео, текстовых конфигов и может какой-то еще мелочи) в адресное пространство, используя так называемую виртуальную память. Если посмотрите на мое видео внимательнее то заметите сверху OSD там какраз и выводиться - RAM - использование физической оперативной памяти оно составляет чуть менее 100 мб и VMS - используемая виртуальная память, сразу после запуска оно принимает значение близкое к 2 GB.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
WRWR |
6.8.2016, 22:32
|
Adept
Сообщений: 986
Регистрация: 17.7.2007 Группа: Пользователи Наличность: 0 Из: Город герой
Пользователь №: 9.946
Возраст: 33
|
Цитата(StaticZ @ 6.8.2016, 17:59) Тогда уж не уменьшить а увеличить в два раза, иначе у вас скорость анимации увеличиться не в 2 а в 4 раза. При этом мулы распухнут в два раза, учитывая что последние клиенты весят 2 GB из которых 1 GB анимация в результате получим 3 GB и клиент не сможет запуститься т.к. ему не будет хватать адресного пространства (обычное 32 битное приложение не может адресовать больше 2 GB). Кроме того это не решает проблем со звуком, периодического подергивания при перемещении и прочего, не говоря уже о том что придется делать по два клиента для использования FPS патча и нет, так как подобный изменения на клиентах без оного патча превратят движение в слоумо. Но главное - все всегда можно исправить, доработать и улучшить, вот только покажите кто этим занимается. FPS патчу много лет а никаких подвижек в его развитии и доработке нет.
почему кстати на фпс патченном клиенте бывают "отскоки", то есть бежишь бежишь и в какой то момент лаг и тебя немного назад одергивает или подзамерает? я не фанат такого клиента, просто заметил глюк
--------------------
Sphere56/Muls
|
|
|
|
StaticZ |
6.8.2016, 22:55
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(WRWR @ 6.8.2016, 22:32) почему кстати на фпс патченном клиенте бывают "отскоки", то есть бежишь бежишь и в какой то момент лаг и тебя немного назад одергивает или подзамерает? я не фанат такого клиента, просто заметил глюк
Клиент работает асинхронно, наверное все замечали что когда рвется связь с сервером клиент еще какое-то время по инерции продолжает движение. Это как раз и есть наглядный пример ассинхронной работы клиента, движение идет само по себе без ожидание запросов или подтверждений с сервера. Периодически конечно идет синхронизация, грубо говоря проверка того что вышло и что должно было быть. FPS патч нарушает немного темп работы клиента, на глаз это не видно т.к. тут речь идет о миллисекундах, но при движении эта рассинхранизация постепенно набегает и когда когда идет сверка с сервером оказывается что клиент убежал достаточно далеко или не достаточно далеко и выходит отскок или подскок. В случае если на сервере плохо организована синхронизация движения то сервер может схавать не правильное положение игрока, о котором ему сообщает клиент и тогда отскок\подскок уже происходит на сервере и он обновляет положение игрока у других клиентов и тогда другие игроки наблюдают отскоки\подскоки.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
Wap |
6.8.2016, 23:32
|
Администратор Форума
Сообщений: 3.006
Регистрация: 22.12.2006 Группа: Администраторы Наличность: 31714
Пользователь №: 9.227
|
Цитата(StaticZ @ 6.8.2016, 20:55) Клиент работает асинхронно, наверное все замечали что когда рвется связь с сервером клиент еще какое-то время по инерции продолжает движение. Это как раз и есть наглядный пример ассинхронной работы клиента, движение идет само по себе без ожидание запросов или подтверждений с сервера. Периодически конечно идет синхронизация, грубо говоря проверка того что вышло и что должно было быть. FPS патч нарушает немного темп работы клиента, на глаз это не видно т.к. тут речь идет о миллисекундах, но при движении эта рассинхранизация постепенно набегает и когда когда идет сверка с сервером оказывается что клиент убежал достаточно далеко или не достаточно далеко и выходит отскок или подскок. В случае если на сервере плохо организована синхронизация движения то сервер может схавать не правильное положение игрока, о котором ему сообщает клиент и тогда отскок\подскок уже происходит на сервере и он обновляет положение игрока у других клиентов и тогда другие игроки наблюдают отскоки\подскоки.
Да там все проще. Клиент начинает следующий шаг, когда закончилась актуальная анимация шага. Поэтому возможно использование ресенда для ускорения, ресенд во время шага позволяет МОМЕНТАЛЬНО начать следующий шаг. Так вот, в фпс патче ускорена анимация поворота. В 2 раза или почти в 2 раза. Само перемещение подправлено, а анимация поворота - нет. И на поворотах получается эффект того же самого ресенда, следующий шаг после разворота происходит намного быстрее, чем должен. Если включить сервер, локально зайти на него и включить лог пакетов с временем, вы увидите это очень четко. Правда нужны единицы времени менее десятой секунды, на Сфере раньше были с этим проблемы (в норме скорость поворота 0.1с, у фпса где-то 0.05 или чуть-чуть больше почему-то). Да, если коннект не идеальный, то эти всякие буферы и сам коннект смазывают логи и фпс вообще можно спутать с самым обыкновенным спидхаком. И, кстати, я не могу гарантировать, что в буферах там тоже нет какого-то мини-ускорения(но сомневаюсь). Но этот баг, что я написал - он там есть четко и именно он дает прыжки на поворотах (а фпс дает прыжки ТОЛЬКО на поворотах, да).
--------------------
|
|
|
|
StaticZ |
6.8.2016, 23:45
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Wap @ 6.8.2016, 23:32) Да там все проще. Клиент начинает следующий шаг, когда закончилась актуальная анимация шага. Поэтому возможно использование ресенда для ускорения, ресенд во время шага позволяет МОМЕНТАЛЬНО начать следующий шаг. Так вот, в фпс патче ускорена анимация поворота. В 2 раза или почти в 2 раза
Ну это тоже, это отчасти и является следствием сбитого счетчика обновлений. Но помимо этого там еще расинхрон набегает при беге по прямой. Дело в том что в оригинальном клиенте обновление идет каждую 0.1 секунду, в реальности код выполняется каждый раз разное время поэтому вызов обработчика может быть произведен на 0.01 секунду позже, но клиент гарантирует дискретность того что число вызовов будет кратно 0.1 а при FPS патче это сбивается и клиент просто начинает вызывать обработчик каждые 0.05 секунды + задержка. В результате этого через какое-то время выходит что было сделано меньше вызовов чем должно было быть.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
Aimed |
8.8.2016, 18:20
|
Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012 Группа: Пользователи Наличность: 7820
Пользователь №: 15.607
|
Цитата(StaticZ @ 6.8.2016, 21:55) Клиент работает асинхронно, наверное все замечали что когда рвется связь с сервером клиент еще какое-то время по инерции продолжает движение. Это как раз и есть наглядный пример ассинхронной работы клиента, движение идет само по себе без ожидание запросов или подтверждений с сервера.
Тут есть инфа что в клиенте есть стек шагов где хранятся ~3 последние запроса. Причем при обработке каждого шага учитывается средняя задержка по отсылке прошлых пакетов. Таким образом клиент в какой-то мере выравнивает лаги и свою неточтость от GetTickCount() (скорее всего) тем что иногда может послать пакет быстрее стандартной задержки, а иногда увеличить задержку. Если вывести в отдельный лог интервалы между пакетами передвижения, желательно что-бы это была одна скорость, там будет постоянное колебание интервалов. Даже на локалке. Тут уже, наверное, от системы как-то зависит. Поэтому я замечал как игроки не имеющие ФПС патча и каких-либо лагов( пинг 5-10 мс и без потерь), на том-же УОРПГ, прыгали будто он есть, только гораздо реже. После этого я забил на наказания за ФПС патч. Тоесть вывод какой: При лагах клиент может создать эффект как у ФПС патча, либо при определенной системе где разброс у системного таймера очень высокий. Поэтому все кто имеет высокий пинг сразу начали жаловаться на Ваповскую анти-ФПС защиту, которую он зачем-то ввел у себя. Хотя я это писал и предупреждал. Там блокировать пакеты нельзя, нужно как-то задерживать пакетный ответ(хотя это создасть видимое ощущение лага), либо решать на стороне клиента. На сторое сервера такое адекватно не решить. Блокировать пакеты == раздражать всех игроков.
|
|
|
|
StaticZ |
8.8.2016, 18:53
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Aimed @ 8.8.2016, 18:20) Таким образом клиент в какой-то мере выравнивает лаги и свою неточтость от GetTickCount() (скорее всего) тем что иногда может послать пакет быстрее стандартной задержки, а иногда увеличить задержку. Если вывести в отдельный лог интервалы между пакетами передвижения, желательно что-бы это была одна скорость, там будет постоянное колебание интервалов. Даже на локалке. Тут уже, наверное, от системы как-то зависит. Естественно, время выполнения одного куска кода всегда будет разное, это зависит от кучи факторов - от загруженности процессора, диспетчера памяти ОС, кэшируемых на процессоре в данные момент и до этого комманд, загруженной в данный момент страницы памяти и т.д., проверка времени гарантирует лишь то что код не будет выполнен раньше, но вовсе не означает что он не будет выполнен позже а насколько это как повезет речь может идти о паре тактов процессорного времени, наносекундах или миллисекундах и в особо тяжких случаях даже более. Собственно в клиенте обработка событий так и устроенна там идет расчет интервала времени когда должно быть обновление а не просто конкретная задержка между несколькими обновлениями. Цитата(Aimed @ 8.8.2016, 18:20) Там блокировать пакеты нельзя, нужно как-то задерживать пакетный ответ(хотя это создасть видимое ощущение лага), либо решать на стороне клиента. На сторое сервера такое адекватно не решить. Блокировать пакеты == раздражать всех игроков. Для этого лучше всего доработать само движение на сервере, чтобы оно просчитывалось параллельно, исключив тем самым саму возможность спидхака - даже если клиент будет спамить пакетами это никак не будет влиять на скорость движения и человек просто сам себе создаст проблемы СХ т.к. будет видеть не то что есть на самом деле.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
StaticZ |
8.8.2016, 19:29
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Aimed @ 8.8.2016, 19:16) Ну так и будет тоже самое что и у Вапа сейчас. Клиент постоянно меняет интервалы, они там могут достигать разницу в 70 мс. Если начать задерживать ответ или блокировать пакет - игроки будут злиться. (IMG: style_emoticons/default/sad.gif) А как отличить легкий спидхак от лагающего клиента тогда? По-моему никак. зачем чего-то блочить? клиент присылает пакет начала движения - начинаем считать движение присылает еще раз - если тоже направление ничего не делаем вообще и отслаем разрешение, если другое то проверяем можно ли туда двигаться и отсылаем разрешение или запрет. Таким образом вообще никакой роли не будет играть с какой частотой шлются пакеты, хоть в 10 раз чаще чем надо и даже если кто-то врубит спидхак, на сервере игрок будет двигаться с обычной скоростью, а у игрока будет каша - он будет будет рисоваться не там где должен быть, в то время как на сервере и у других игроков его положение и скорость будет правильной. Сообщение отредактировал StaticZ - 8.8.2016, 19:29
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
StaticZ |
9.8.2016, 3:33
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Aimed @ 8.8.2016, 19:43) И отсылаешь ты ему запрет. А этот игрок, который и так уже залагал и у него прошлый пакет превысил интервал, получит откидывание назад из-за уменьшенного интервала на текущем пакете. Вот он обрадуется!
Да нет, запрет отсылать только в случае невозможности движения к примеру стамина села или на пути препятствие или скастанули фриз и тд. Единственное что в случае большого рассинхрона положение на экране клиента может не совпасть с фактическим, но это лишь в случае если у клиента нет вообще никакой проверки времени при движении, но для надежности можно периодически опрашивать и сверять координаты.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|