Для входа на форум нажмите здесь
Question Технические вопросы
Автор темы: Libris
Дата создания:
Old 30.07.2013, 16:29   #1 
Libris
Таков мой путь Гения
 
Libris's Avatar

Posts: 35,700
Всего лайков: 6,170
Join Date: 14.08.2008
Game: Pokémon TCG P
Nick: Libris
Info: Ктулху фхтагн!
Steam
Технические вопросы
Libris 30.07.2013, 16:29

В этой теме можете задавать и отвечать на вопросы связанные с техническими проблемами, настройками (и сопутствующие). Флуд и неуместные обсуждения будет пресекаться.
__________________
Новостнику заплатите чеканной монетой, чтоб гений его пронзил небеса!
Моя гик-коллекция
* Имя Гению Коджима Хидео.
Views: 238210
Reply With Quote
Old 17.06.2014, 09:23
mendisabal's Avatar
PvP only
Join Date:
30.06.2008
Re: Технические вопросы
Originally Posted by NekOnOkO:
Сервер, влияющий на фпс? Это в мемориз.
очнись ,это тесо ,следовательно возможна любая ,даже нелогичная ,куйня.

organic only
Old 17.06.2014, 09:31
thrashbox_renamed_1140134_03092022's Avatar
Гигант мысли
Join Date:
03.06.2014
Re: Технические вопросы
Originally Posted by mendisabal:
очнись ,это тесо ,следовательно возможна любая ,даже нелогичная ,куйня.
Всё вполне логично. И проверяемо, кстати: сходить в замес в группе, зафиксировать фпс, помереть, выйти из группы, еще раз в тот же замес (штурм какой-нибудь). Или: посмотреть на фпс, когда большой зерг приносит свиток в свой кип, и посмотреть на него же, когда рубятся примерно столько же народу, сколько было в том большом зерге.
Разница весьма заметна - ну, мне, по крайней мере.
Просто - когда ответ сервера на действия игрока (и происходящее вокруг) медленнее чем обычно, но быстрее, чем игрок увидит лаг/фриз - от оно и получается, как падение фпс, от клиентского компа никак не зависящее.
Old 17.06.2014, 10:22
mendisabal's Avatar
PvP only
Join Date:
30.06.2008
Re: Технические вопросы
да нет ,просто принято считать ,что фпс от пинга не зависит ,как и наоборот ,тесо явно отличился в этом плане ,ибо у меня поднялсяфпс после того как я выровнял пинг через впн ,мистика.

organic only
Old 17.06.2014, 11:52
Re: Технические вопросы
Originally Posted by NekOnOkO:
Сервер, влияющий на фпс? Это в мемориз.
Тогда уж высказывания представителей ZOS, разработчиков TESO, записывай туда
Old 17.06.2014, 18:03
thrashbox_renamed_1140134_03092022's Avatar
Гигант мысли
Join Date:
03.06.2014
Re: Технические вопросы
Originally Posted by mendisabal:
да нет ,просто принято считать ,что фпс от пинга не зависит ,как и наоборот
В ММО ?? Это как ?
Нет, я понимаю, что всё необходимое для собственно отрисовки фрейма есть на стороне клиента. Но есть еще ведь и расчет коллизий, т.е. взаимодействие игрока с объектами окружающего мира. Те, в свою очередь, делятся, грубо говоря, на активные ("ящики", неписи, другие игроки) и пассивные (грубо говоря, стена/обрыв/что-то вроде, на что действия игрока повлиять не могут в принципе, но что, в свою очередь, влияет на действия игрока - может остановить движение, например).
Вот и вопрос - где рассчитываются конкретно в TESO коллизии ?
Я даже верю, что коллизии с пассивными объектами считаются на стороне клиента - именно отсюда взялись летающие и телепортирующиеся боты (путем редактирования соответствующих функций, отвечающих за проверку этого дела, прямо в памяти процесса). Но уж наверняка коллизии с активными объектами, в т.ч. и др. игроками, считаются на стороне сервера. И вот тут возникают грабли с подготовкой исходных данных для отрисовки фрейма, если ответ сервера клиенту тормозит.
Я видел джва варианта решения:
- "мелкий роллбэк" - когда персонаж игрока возвращается "назад во времени", ненадолго - на доли секунды, и всё остальное тоже. В итоге неприятно, некрасиво, но - без потери фпс совсем. В WoT так сделано, например.
- таки ждать, пока сервер не даст инфу, и уже потом рисовать фрейм - и вот тут-то фпс и проседает. Подозреваю, что именно этот вариант и реализован в ТЕСО.
Почему в случае с супер-зергом, донесшим скролл на базу, фпс не проседает ? А потому, что оных коллизий - нет, friendly fire - нет, игроки свободно проходят друг сквозь друга. Считать меньше, сервер успевает.

Не великий специалист, прошу ногами не пинать, вот такое вот моё представление о данном процессе. Ну, в упрощенном виде.
Old 18.06.2014, 08:44
Re: Технические вопросы
Originally Posted by thrashbox:
Я видел джва варианта решения:
Они оба реализованы в TESO :)
роллбэк видел не раз, а просадку фпс - ну так вроде логично

AMD FX 8320 @5 GHz, AMD Radeon HD 5870 1Gb GDDR5, 16 Gb DDR3 @ 2133 9-11-11-28 MHz, Win 8.1 64-bit
Old 24.06.2014, 00:32
Re: Технические вопросы
Originally Posted by Morrowing:
Выключаем нафик парковку ядер!
Везде "Disabled" потом жмём "Apply" и "OK". Кстати, в программке чётко видна загрузка ядер. Для каждого режима энергосбережения отдельная настройка!
У меня 8ка, i3 2120 («разогнан» до 3399 mhz), gtx 660, вышеупомянутых периодических фризов не было, но хотелось больше фпс в Сиродиле.

Выключил парковку, хуже вроде не стало, мб даже чуть лучше - фпс в районе 20 в крупных замесах держится, при резких кручениях камерой дерганий и задержек картинки нет.

Еще выключал гипертреадинг - получил периодические фризы) При этом выставление высшего приоритета их не особо исправляло.

ps а вообще, самое фризовое место, которое мне попадалось, как ни странно, даже не Сиродил, а нижний уровень root sander ruins, когда там хотя бы полрейда собирается

People hate ESO because they love it
Old 24.06.2014, 01:17
Re: Технические вопросы
Originally Posted by thrashbox:
где рассчитываются конкретно в TESO коллизии ?
в клиенте.
Но не без участия сервера - он передает инфу клиенту об объектах, которые должен видеть клиент, и их статусе (проходим или нет, в бою или нет) и уже на основании этого клиент делает выводы о том: позволить тебе здесь пройти или нет.
Old 24.06.2014, 10:37
mendisabal's Avatar
PvP only
Join Date:
30.06.2008
Re: Технические вопросы
Originally Posted by ihelg:
Еще выключал гипертреадинг - получил периодические фризы)
Хм ,это гуавно у меня всегда выключено .

organic only
Old 24.06.2014, 16:54
thrashbox_renamed_1140134_03092022's Avatar
Гигант мысли
Join Date:
03.06.2014
Re: Технические вопросы
Originally Posted by SilverWF:
в клиенте.
Я ж выше писал - верю, что коллизии с пассивными объектами считаются на клиенте. Но с активными - игроками, неписями - должны считаться на сервере по-любому, иначе ерунда получится.

Originally Posted by ihelg:
У меня 8ка, i3 2120
Originally Posted by ihelg:
Еще выключал гипертреадинг - получил периодические фризы)
Сталбыть, ESO зачем-то хочет 4 процессорных ядра ? У i3-то их штатно 2.
Old 24.06.2014, 20:11
mendisabal's Avatar
PvP only
Join Date:
30.06.2008
Re: Технические вопросы
с уя такие выводы ,гипертрейдинг это другое.

organic only
Old 24.06.2014, 21:05
thrashbox_renamed_1140134_03092022's Avatar
Гигант мысли
Join Date:
03.06.2014
Re: Технические вопросы
Originally Posted by mendisabal:
с уя такие выводы ,гипертрейдинг это другое.
Ну давайте, расскажите мне про HyperThreading и "другое"
Было 4 "логических" ядра на i3 с включенным HT, выключили, стало джва (которые физические). Появились фризы.
Значит - что ? Какие-то процессы/нити хотят процессорного времени, и им стало не хватать. Может быть, эти процессы и не связаны с eso.exe (что-то внешнее), но двух ядер суммарно им и TESO уже не хватает.
Вот и все выводы, собственно.
Old 24.06.2014, 21:29
mendisabal's Avatar
PvP only
Join Date:
30.06.2008
Re: Технические вопросы
доля логики есть(погуглил вспомнил) ,НО! отключая у себя принудительно 2 физических ядра ,оставля 2ва ловил не фриз а подвисон ,периодичность которого довольно долгая ,включил обратно все - пропал ,а потом через время появился мелкий такой фриз ,хотя 2физ ядра i7 вертели на кую те 4ре логических i3 ,хипертретинг всегда выключен ибо чушь ,но правда манипуляции эти с модом без тумана и епучей дальностью прорисовки поэтому я хз ,гадание на кофейной гуще ,особенно в моем случае ,с неоплаченным клиентом

organic only
Old 24.06.2014, 22:36
Re: Технические вопросы
Originally Posted by mendisabal:
хотя 2физ ядра i7 вертели на кую те 4ре логических i3
На кую не на кую, а мне вот интересно, сколько конкретно мне прибавит фпс потраченные 7к на i5 2550k с несильно фанатичным разгоном?

People hate ESO because they love it
Old 24.06.2014, 22:48
thrashbox_renamed_1140134_03092022's Avatar
Гигант мысли
Join Date:
03.06.2014
Re: Технические вопросы
Originally Posted by ihelg:
На кую не на кую, а мне вот интересно, сколько конкретно мне прибавит фпс потраченные 7к на i5 2550k с несильно фанатичным разгоном?
Сколько прибавит ? Хм... Если i5 разогнуть эдак до 4 ГГц (мой i5-2500K молча гонится до 4.2 ГГц, но не вижу смысла насиловать старичка 3-летнего), и учитывая видюху - процентов 15-20 производительности (с исчезновением микрофризов, вызванных чем-то именно на клиенте) дать должен. По идее.
Поручаться за это, разумеется, не стану - тестирования на предмет того, от чего больше ТЕСО зависит - от процессора или видюхи - не проводил.
Old 25.06.2014, 00:31
mendisabal's Avatar
PvP only
Join Date:
30.06.2008
Re: Технические вопросы
Originally Posted by ihelg:
сколько конкретно мне прибавит фпс потраченные 7к на i5 2550k
русиш рулетка епт ,зенимаксы сами не поняли ,де и че намудрили ,играешь с туманом ? ставь мод выше ,только дальности прорисовки выкручивай на половину рекомендуемых ,во всяком случае ,я именно так собираюсь выжимать фпс из тесо в машине i3-2120T + GT 430 изврат во плоти
Originally Posted by thrashbox:
мой i5-2500K молча гонится до 4.2 ГГц
и что тебе дает этот разгон? ну кроме отключения турбо бост и как следствие ,прожорливости ?

organic only
Old 25.06.2014, 01:10
Re: Технические вопросы
Originally Posted by thrashbox:
Я ж выше писал - верю, что коллизии с пассивными объектами считаются на клиенте. Но с активными - игроками, неписями - должны считаться на сервере по-любому, иначе ерунда получится.
Всё верно Сильвер описал. А как ещё, по твоему, сервер в просчете коллизий должен участвовать, кроме верной передачи клиенту точки нахождения динамического объекта и его ориентации в пространстве

Вот как раз с пассивными объектами - можно полностью на стороне сервера оставить, когда движения игрока будет блочить сервер, т.к. он всегда, в любой момент времени, совершенно точно знает координаты недоступных мест
Old 25.06.2014, 19:39
thrashbox_renamed_1140134_03092022's Avatar
Гигант мысли
Join Date:
03.06.2014
Re: Технические вопросы
Originally Posted by mendisabal:
и что тебе дает этот разгон? ну кроме отключения турбо бост и как следствие ,прожорливости ?
Проц жрет до 95 Вт, в разгоне (теоретически) до 130 Вт, обычно, разумеется, меньше. Ужасающие растраты электроэнергии, да
Притом, что в то же самое время видюха (ПЕЧ580) жрет под 300 Вт и не морщится.
Разгон же с 3,3 ГГц до 4 ГГц всех ядер (турбо-буст на деле гонит по максимуму только одно - нулевое ядро, остальные - меньше: у моего i5-2500K турбо-буст раскладывается так по ядрам штатно - 3,7 ГГц, 3,5 ГГц, без разгона, без разгона) - даёт более, чем заметный прирост фпс. Ну и при любой вменяемой системе охлаждения внешних эффектов типа воющих фанов от этого нет (видюха всё равно орет громче).
Originally Posted by Kirixoid:
Всё верно Сильвер описал.
Сильвер - верно, но не полно. Вы - совсем неверно.
Originally Posted by Kirixoid:
А как ещё, по твоему, сервер в просчете коллизий должен участвовать, кроме верной передачи клиенту точки нахождения динамического объекта и его ориентации в пространстве

Именно сервер должен считать, произошло взаимодействие игрока, например, с другим игроком, или нет. Потому, что у него есть эта информация, а на клиенте её нет.
Originally Posted by Kirixoid:
Вот как раз с пассивными объектами - можно полностью на стороне сервера оставить
Всё можно - клиент в руках врага (с). Но проблема в том, что тогда нужно больше информации за единицу времени передавать на клиента.
Если бы это было действительно так, как Вы описываете - летающие и телепортирующиеся боты без хака собственно сервера были бы невозможны в принципе. А раз они есть - значит, коллизии с пассивными объектами частично или полностью считаются на клиенте.
Old 25.06.2014, 19:41
Re: Технические вопросы
Таки да, разгон проца резко прибавляет fps в удивительной TESO.

AMD FX 8320 @5 GHz, AMD Radeon HD 5870 1Gb GDDR5, 16 Gb DDR3 @ 2133 9-11-11-28 MHz, Win 8.1 64-bit
Old 25.06.2014, 20:09
Re: Технические вопросы
Originally Posted by thrashbox:
Сильвер - верно, но не полно. Вы - совсем неверно.
Тоже самое, только дополнил совсем чуть-чуть.
Originally Posted by thrashbox:
Именно сервер должен считать, произошло взаимодействие игрока, например, с другим игроком, или нет. Потому, что у него есть эта информация, а на клиенте её нет.
Вижу, что ни к программированию, ни, тем более, к серверам вы не имеете никакого отношения.
Ещё раз поясняю: клиент в себе имеет модели коллизий объектов, если клиенту правильно передают точку/позицию объекта и его ориентацию, все данные для отработки коллизий уже есть в клиенте. Так что должно считать на сервере?
И после этого ещё раз спрашиваю: как это должно работать на сервере? Что должен делать сервер, кроме того, что я описал выше? Как именно, кроме того, как я описал, сервер должен "обрабатывать" коллизии?
В прошлый раз уже был такой спор, только не с тобой, мне так никто и не ответил, что же должен делать сервер, кроме передачи координат объекта Ан нет, писали бред что-то про предугадывание сервером, куда будут направляться игроки, а сервер должен будет "говорить" им, можно ли им совершать это движение!
Originally Posted by thrashbox:
Всё можно - клиент в руках врага (с). Но проблема в том, что тогда нужно больше информации за единицу времени передавать на клиента.
Если бы это было действительно так, как Вы описываете - летающие и телепортирующиеся боты без хака собственно сервера были бы невозможны в принципе. А раз они есть - значит, коллизии с пассивными объектами частично или полностью считаются на клиенте.
Во-первых, читаем внимательно:
Originally Posted by Kirixoid:
Вот как раз с пассивными объектами - можно полностью на стороне сервера оставить
При этом проверки, конечно же, остаются как на стороне сервера, так и на стороне клиента.
А описываемая тобой ситуация - это не проблема клиента, а проблема кривого сервера. Даже пиратки палят такие читы, т.к. они (сервера) знают где может быть игрок, а где нет. Напоминаю, речь в этом абзаце идёт исключительно статике.
Old 25.06.2014, 21:40
mendisabal's Avatar
PvP only
Join Date:
30.06.2008
Re: Технические вопросы
Originally Posted by thrashbox:
Разгон же с 3,3 ГГц до 4 ГГц всех ядер - даёт более, чем заметный прирост фпс.
с 580ой печью ? онли тесо ? мне казалось ,что такой проц стоит гнать имея минимум 680 /7970,ибо узкое горло (естественно я только про игры),кстатьи ,по графику у меня вроде все ядра "подскакивали"с турбо бостом на и5ом ,правда мобильном ,и довольно старом .

organic only
Old 25.06.2014, 22:05
thrashbox_renamed_1140134_03092022's Avatar
Гигант мысли
Join Date:
03.06.2014
Re: Технические вопросы
Originally Posted by Kirixoid:
Вижу, что ни к программированию, ни, тем более, к серверам вы не имеете никакого отношения.
Протрите глаза, или смените очки.
Originally Posted by Kirixoid:
И после этого ещё раз спрашиваю: как это должно работать на сервере? Что должен делать сервер, кроме того, что я описал выше? Как именно, кроме того, как я описал, сервер должен "обрабатывать" коллизии?

Как бы попроще объяснить-то...
Сервер должен дать следующие координаты и состояние объектов. Всех, которые есть в отрисовываемой сцене, или частично (активных - т.е. информация об изменении положения и состояния которых попадает сначала на сервер (в случае, если в сцене присутствует несколько игроков/активных неписей), а оттуда - на клиент).
Перед этим он должен рассчитать эти самые координаты и состояние, на основании предыдущих данных и полученных с клиентов участвующих в сцене игроков данных о движении/действиях.
Клиенты эти данные могут получить только с сервера - обмен-то ими не р2р.
Originally Posted by Kirixoid:
Ан нет, писали бред что-то про предугадывание сервером, куда будут направляться игроки, а сервер должен будет "говорить" им, можно ли им совершать это движение!
Предсказание, или вроде того - надо точно знать, есть ли оно/делается или нет. Это фича как раз на случай потери/задержек пакетов, в ряде игр она есть.
И это не "предугадывание", а именно предсказание - на основании последних имеющихся данных: например, игрок секунды двигался по прямой - значит, есть ненулевая вероятность, что он и дальше секунду- другую будет двигаться по прямой же.
Предсказали с обоих концов (на клиенте дублируем расчет коллизий с пассивными объектами) движение удачно и успели засинхронизироваться с обоих концов за некий контрольный промежуток времени - ОК, нет - мини-роллбэк на клиенте (на доли секунд- единицы секунд). Т.е. накладные расходы нехилые, результат не гарантированный - но иногда помогает.
Есть ли оно в ТЕСО - мне неизвестно. Пока что на основании наблюдений - нет, но это субъективно.

И да, завязывайте с категоричностью. В порядке совета.
Originally Posted by mendisabal:
с 580ой печью ? онли тесо ?
Все имеющиеся игры.
Originally Posted by mendisabal:
мне казалось ,что такой проц стоит гнать имея минимум 680 /7970,ибо узкое горло
Нет. Игры, в особенности ММО, пока еще заметно процессорозависимы.
Old 25.06.2014, 22:52
mendisabal's Avatar
PvP only
Join Date:
30.06.2008
Re: Технические вопросы
ну ни знаю , проц дает координаты сетки - видюха накрывает по ним полигоны ,утрированно конечно ,разгон ради цифр в бечмарке и ничтожного увеличения фпс считаю нецелесообразным ,хотя конечно может помочь откровенно кривому исполнению продукта .

organic only
Old 25.06.2014, 23:23
thrashbox_renamed_1140134_03092022's Avatar
Гигант мысли
Join Date:
03.06.2014
Re: Технические вопросы
Originally Posted by mendisabal:
ну ни знаю , проц дает координаты сетки - видюха накрывает по ним полигоны ,утрированно конечно ,разгон ради цифр в бечмарке и ничтожного увеличения фпс считаю нецелесообразным ,хотя конечно может помочь откровенно кривому исполнению продукта .
Разгон ради разгона - не нужен, согласен.
Но если есть возможность на ровном месте, без насилия над железом и мозгами (старый добрый Sandy Bridge же) поиметь порядка +20% производительности - почему нет ?
Old 25.06.2014, 23:59
Re: Технические вопросы
Originally Posted by thrashbox:
Как бы попроще объяснить-то...
Сервер должен дать следующие координаты и состояние объектов. Всех, которые есть в отрисовываемой сцене, или частично (активных - т.е. информация об изменении положения и состояния которых попадает сначала на сервер (в случае, если в сцене присутствует несколько игроков/активных неписей), а оттуда - на клиент).
Перед этим он должен рассчитать эти самые координаты и состояние, на основании предыдущих данных и полученных с клиентов участвующих в сцене игроков данных о движении/действиях.
Клиенты эти данные могут получить только с сервера - обмен-то ими не р2р.
Предсказание, или вроде того - надо точно знать, есть ли оно/делается или нет. Это фича как раз на случай потери/задержек пакетов, в ряде игр она есть.
И это не "предугадывание", а именно предсказание - на основании последних имеющихся данных: например, игрок секунды двигался по прямой - значит, есть ненулевая вероятность, что он и дальше секунду- другую будет двигаться по прямой же.
Предсказали с обоих концов (на клиенте дублируем расчет коллизий с пассивными объектами) движение удачно и успели засинхронизироваться с обоих концов за некий контрольный промежуток времени - ОК, нет - мини-роллбэк на клиенте (на доли секунд- единицы секунд). Т.е. накладные расходы нехилые, результат не гарантированный - но иногда помогает.
Есть ли оно в ТЕСО - мне неизвестно. Пока что на основании наблюдений - нет, но это субъективно.
Ну опять бред про предугадывание/предсказывание сервером действий всех игроков на нём С вами всё ясно, действительно не связан ни с программированием, ни с серверами.
Сервер должен передать положение объекта и его ориентацию - коллизии обработает клиент, так ещё раз - что должен проверять сервер? Вроде простой вопрос, а ответа до сих пор нет. Это говорит о том, что вы сами не представляете себе как это работает. Ну что за бред про предсказания/предугадывания... Azara - ты где?
Ты пишешь бред. Если сервер своевременно передаёт координаты клиентам ему нет нужды просчитывать коллизии, если он не в состоянии своевременно передать верные координаты, то нет нужды отрабатывать коллизии на сервере, т.к. они просто всегда буду неверными, потому как опаздывают.
Ну и простой пример в TESO. Есть коллизии с мобами. Отруби сеть и посмотри как ведёт себя клиент, будет ли он проходить сквозь мобов, если от сервера не будет поступать инфы? У меня вот такой зависон был...
Ты будешь в шоке! Застрявший вусмерть клиент. Я могу бегать по миру, но не могу кастовать, не могу атаковать мобов, они не могут атаковать меня, НО!!! Я СКВОЗЬ НИХ НЕ ПРОХОЖУ! Ещё через 5 секунд меня выбило из игры... Выводы сам сделаешь?

Добавлено через 2 минуты
Offtopic:
Originally Posted by thrashbox:
Но если есть возможность на ровном месте, без насилия над железом и мозгами (старый добрый Sandy Bridge же) поиметь порядка +20% производительности - почему нет ?
У меня каждый день - 10кг продуктов. Съедаю я только 5, остальные приходится выбрасывать, но если есть возможность на ровном месте поиметь порядка +20% продуктов (чтобы потом выбрасывать не 5кг, а 7кг) - почему нет ?
Last edited by Kirixoid_renamed_1055396_19012023; 25.06.2014 at 23:59. Reason: Добавлено сообщение
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off