@sprite off - отключение показа премиум-покрасок
-
не понимаю...с точки зрения сервера надо передать номер палитры и все, это один байт информации на игрока (максимум 4), нет?
-
@"Scythian":
не понимаю...с точки зрения сервера надо передать номер палитры и все, это один байт информации на игрока (максимум 4), нет?Этот вопрос надо изучать тем кто работает с сервером... Вообще говоря - клиент уже знает какая палитра у перса и по идее ничего грузить не должон про Вашего перса
Но должен пулучить инфу про других игроков - чтоб их отрисовать...
Причем как для премов так и для непремов... По идее - если грузить палитру - это не 1-4 байта... а по 3-4 байта на каждый цвет палитры...
Но и для премов и для непремов... -
Bububu, Несовсем так. Если стандартная покраска будет у всех, серверу ненадо будет вобще ничего по покраскам посылать. Кстати когда влетаеш в трап и еще в некоторых ситуациях ты отображаешся со стандартнои покраскои, и сделав шаг получаеш обратно свою. Но передать надо деиствительно только номер покраски. И всеравно при перегрузке канала надо искать где можно его разгрузить, просто информация о покраски это самыи безболезненный способ его чуть разгрузить. Хотя все это должны обдумывать люди которые знают точнно как все это работает, мы можем только догадываться. Хотя допустим я по покраскам определяю первостепенные цели. Я думаю если поискать можно наити что урезать еще.
Зы Надо хотябы узнать как это работает и насколько это разгрузит канал. Если это повлияяет на ситуацию, тогда стоит обсуждать дальше.
-
для тех, кто желает понять, как покраска влияет на загрузку вычислительных мощностей компьютера и интенсивность потока данных интернет-соединения, рекомендую провести следующий трюк: погуляйте на локациях типа геффена, комодо и морокка. после попросите варп к средней кафре пронтеры или переместитесь к кафре альдебарана (но в баране у кафры много магазинов). протормоз с отображением палитр и чаров гарантирован. хотя палитры уже в кэше клиента (вы гуляли уже в игре, покраски отображены и закэшированны), вендинг у средней кафры пронты не выставлен. однако, упомянутое место славится большим количеством просто сидящих чаров, место для встреч и т.п.
Бог с ним. Загрузились. А теперь представьте, что все, кого вы видите на экране, вдруг встали, отчаянно засверкали белыми потами и стали жестко "прокликивать" какую либо область/клетку. И получите эффект подготовленной атаки на гейт во время ГВ. При падении мап-сервера с последующим "выходом в Пронту" - вспомните эффективность ваших кликов. Первое желание отойти от толпы. Не лагает, но и тормозит. Я считаю, что в первую очередь, это из-за покрасок. Выч. способность локального компьютера, конечно, также играет роль, однако и машины у большинства игроков РО слабыми не назвать. И все же, вылетают.лично мне верится слабо, что сервер посылает лишь номера покраски.
однако, однозначной информацией располагает лишь администрация сервера. -
Hitman_Sniper, Bankomat, строго говоря описанных Вами эффектов под Пронтой и в Альдебаране на МОТР-е - не наблюдаю вообще...
И еще я говорил не о стандартной покраске, а о бесплатной - изначально существующей - бесплатной... Вряд ли все варианты уже кэшированы в клиенте - их достаточно много и их после входа на карту - клиент тоже должен получить для каждого игрока по идее...
А в общем - итог один - вопрос нуждается в изучении... И не факт что это платные палитры все так портят... На некоем СеНсОрЕдЕ - с год-два назад - где прем покрасок сроду не было - небольшие задержки наблюдал при переходах по локациям, но прем покрасок там не имело место быть. Идти туда и ставить эксперименты - неохота - забросил его давно..
Очень возможно - но это опять гипотеза... При долгой игре - я регулярно наблюдаю утечки памяти... и чем дольше не выходишь - тем они больше... Вплоть до вылета клиента при долгой непрерывной игре.... И лаги - увеличиваются... Лечится - рестартом клиента - кардинально... Может собака где-то тут порылась?
-
Spawny, возможно это глюки клиента
раньше при снятии тохедо, пропадала непремиум покраска, до первого движения.и что вы к премиумам покраскам привязались
при входе персонажа в зону видимости передаёться куча информации, где ИД покраски лишь малая часть(персонаж\гилда\3предмета головы\оружие\птичка\тележка\обкасты\координаты...).ну и почему когда входят по одному дисконектов не происходит? для входящего вход на гейт равнозначен, входу всего гейта в зону его видимости(со всеми их премиум покрасками)
возможно если есть баг в клиенте, то тогда стоит ввести команду. на лаги введение команды точно не должно снижать.
-
Bububu, возможно и так. Все же в этом вопросе не помешала бы помощь администрации. Игровой контингент высказал предположение и оформил предложением.
А вот целесообразность оного и качество аргументации определить по сути невозможно без знания принципов работы серверной части рассматриваемого сервера. Мне вот любопытно, администрация пойдет навстречу во внесении ясности в вопрос, или же тема заглохнет...
-
А почему не так? При появляении персонажа высылается номер палитры, она отрисовывается клиентом, на себя в том числе, пока персонаж присутствует на экране. Номер длиной в 1 Байт, если не ошибаюсь. 100 человек - 100 Байт. Это даже не 1 КБайт. Не имеет значения сколько разных покрасок на экране - все равно число переданых данных будет то же.
P.S. Крашеных спрайтов не бывает.
-
@"Zeno":
А почему не так? При появляении персонажа высылается номер палитры, она отрисовывается клиентом, на себя в том числе, пока персонаж присутствует на экране. Номер длиной в 1 Байт, если не ошибаюсь. 100 человек - 100 Байт. Это даже не 1 КБайт. Не имеет значения сколько разных покрасок на экране - все равно число переданых данных будет то же.P.S. Крашеных спрайтов не бывает.
Объясню почему не так... Премиум-палитры в клиенте не содержатся изначально по-моему... Они же есть только в серверной части - куда вносились по мере разработки палитр самими игроками...
Потому - с необходимостью они хотя бы раз должны передаваться от сервера к клиенту - полностью(много байт - а не один), а не только их номер(один байт)... А вот от того как это реализовано - при каждом проходе гейта или один раз только - при запуске клиента - от этого сильно может зависеть трафик... Вот потому и нужна точная инфа - как это реализовано - для принятия решения - даст это что-нить или не даст...
PS: естественно я подразумевал палитры, а не сами спрайты сидящие в клиенте...
-
Bububu, Полностью она передается вместе с апдеитом, когда их ввели апдеитер закинул к тебе в клиент, и при загрухки клиента через апдеитер проверяется стоят у тебя обновления или нет, если нестоят тогда он их скачивает и у тебя в клиете появляются все покраски. А премиум покраска или безплатная значения неимеет информацию о неи надо всеравно передать. Палитры тоже сидят в клиенте.
-
Допустим это [zz-zz-XY-YY-zz] пакет перемещения другого игрока в зоне видимости, XY-координаты которые изменяются, YY-цвет покраски.
В результате 3 перемещения этого игрока дадут "лишних" 3 байта о покраске, 100 таких игроков, дадут 300 байт, увеличте количество перемещений этого "стада" в зоне видимости получите довольно неплохую цифру, особенно если действие разворачивается в "узких" коридорах ... :roll:
Идея правильная, но резать пакеты никто не будет :roll: хотя :roll: -
Kpоmyc, Пиковая нагрузка образуется во время входа, а не перемещения. Народ вылетая во время захода на гейт. Когда они начинают двигатся те кто должен был вылететь, уже вылетел.
-
@"Hitman_Sniper":
Kpоmyc, Пиковая нагрузка образуется во время входа, а не перемещения. Народ вылетая во время захода на гейт. Когда они начинают двигатся те кто должен был вылететь, уже вылетел.
не, они просто все во время загрузки тыкают вперед)
кто-то умирает на респе, но сигнал движения поступает) -
@"GoSu":
@"Hitman_Sniper":
Kpоmyc, Пиковая нагрузка образуется во время входа, а не перемещения. Народ вылетая во время захода на гейт. Когда они начинают двигатся те кто должен был вылететь, уже вылетел.
не, они просто все во время загрузки тыкают вперед)
кто-то умирает на респе, но сигнал движения поступает)
Может паузу тогда между гейтами прогруза увеличь с 5 секунд до 10-15 просто? -
5 секунд имхо с головой
-
5 секунд сейчас стоит
-
Пожалуй, я из двух вариатов "стереть оффтоп" и "закрыть тему" выберу третий - всех предупредить, и начать раздавать ЖК, если оффтоп продолжится.
Исходное предложение - отключение показа премиум-покрасок, к его обсуждению и возвращаемся. Для обсуждения всего остального (той же "паузы между гейтами", что бы это не значило) создавайте тему в более подходящем разделе форума (в смысле не обязательно в предложениях).
Если больше по теме написать нечего, лучше скачайте исходники эмулятора и посмотрите, где там покраски и паузы. Может какие новые предложения появятся.
-
Как мне кажется почему мб вылеты. Клиент есстесвенно сразу все покрасы в память не грузит, но вот чем дольше стоишьв пронте там, тем более становится размер клиента в памяти, логично предположить что по пакету с айди краски он из грфа извлекает соотв покрас и malloc выделяет память. Кстати у меня оч заметно если долго сидеть то потом чейнж мап долго работает(выгружает спрайты). Проблема в том что теоретически malloc может работать сколь угодно времени, и даже дать отказ. По всей видимости несколько malloc просто лочат клиент, у него набирается сразу куча пакетов(прекасты дефа:) необработанных( пока malloc'и не завершатся) , и естественно происходит обрыв связи. Возможно(тормоз malloc) происходит из-за недостатка оперативки на компе, мб из-за периодичной неадекватности винды :roll:
Кстати отсюда идет вывод что отключение спрайтов НЕ поможет ибо как я думаю тормозит машинка которой банально не хватает памяти. :roll:
З Даже если у вас куча одинаковых спрайтов, то я думаю клиент всё равно будет выделять память под каждого человека(ну вполне естесственный способ:) так что расходы не особо то и уменшатся( формально говоря станет выделено меньше памяти под загруженные спрайты).
имхо картинкой передается только эмблемка но она бмп 24 на 24 на 256 так что копейки, хотя иногда видно как не хочет прогружатся картинка:)
ЗЫ сталкивался с нечто похожим когда пишешь pthread программу, прямо в мане написано что malloc not thread safe.
ЗЫЫ судя по дебаггерам клиент написан на microsoft visual C++ {Debug!} так что оч мб...Кароч скока всего понаписал, в общем сам не уверен, просто предполагаю, основываясь на некоторых знаниях.
Ну да как мне тут подсказали, везде где написано malloc читать функция типа new