![]() |
#1 | ||||||||
Таков мой путь Гения
Технические вопросы
![]()
В этой теме можете задавать и отвечать на вопросы связанные с техническими проблемами, настройками (и сопутствующие). Флуд и неуместные обсуждения будет пресекаться.
__________________
Моя гик-коллекция ![]() * Имя Гению Коджима Хидео. |
|||||||||
Views: 237590
![]() |
![]() |
#252 | |
Гигант мысли
|
Re: Технические вопросы
Разница весьма заметна - ну, мне, по крайней мере. Просто - когда ответ сервера на действия игрока (и происходящее вокруг) медленнее чем обычно, но быстрее, чем игрок увидит лаг/фриз - от оно и получается, как падение фпс, от клиентского компа никак не зависящее. |
|
![]() |
![]() |
#255 | |
Гигант мысли
|
Re: Технические вопросы
Нет, я понимаю, что всё необходимое для собственно отрисовки фрейма есть на стороне клиента. Но есть еще ведь и расчет коллизий, т.е. взаимодействие игрока с объектами окружающего мира. Те, в свою очередь, делятся, грубо говоря, на активные ("ящики", неписи, другие игроки) и пассивные (грубо говоря, стена/обрыв/что-то вроде, на что действия игрока повлиять не могут в принципе, но что, в свою очередь, влияет на действия игрока - может остановить движение, например). Вот и вопрос - где рассчитываются конкретно в TESO коллизии ? Я даже верю, что коллизии с пассивными объектами считаются на стороне клиента - именно отсюда взялись летающие и телепортирующиеся боты (путем редактирования соответствующих функций, отвечающих за проверку этого дела, прямо в памяти процесса). Но уж наверняка коллизии с активными объектами, в т.ч. и др. игроками, считаются на стороне сервера. И вот тут возникают грабли с подготовкой исходных данных для отрисовки фрейма, если ответ сервера клиенту тормозит. Я видел джва варианта решения: - "мелкий роллбэк" - когда персонаж игрока возвращается "назад во времени", ненадолго - на доли секунды, и всё остальное тоже. В итоге неприятно, некрасиво, но - без потери фпс совсем. В WoT так сделано, например. - таки ждать, пока сервер не даст инфу, и уже потом рисовать фрейм - и вот тут-то фпс и проседает. Подозреваю, что именно этот вариант и реализован в ТЕСО. Почему в случае с супер-зергом, донесшим скролл на базу, фпс не проседает ? А потому, что оных коллизий - нет, friendly fire - нет, игроки свободно проходят друг сквозь друга. Считать меньше, сервер успевает. Не великий специалист, прошу ногами не пинать, вот такое вот моё представление о данном процессе. Ну, в упрощенном виде. |
|
![]() |
![]() |
#257 | |
Знаток
|
Re: Технические вопросы
Выключил парковку, хуже вроде не стало, мб даже чуть лучше - фпс в районе 20 в крупных замесах держится, при резких кручениях камерой дерганий и задержек картинки нет. Еще выключал гипертреадинг - получил периодические фризы) При этом выставление высшего приоритета их не особо исправляло. ps а вообще, самое фризовое место, которое мне попадалось, как ни странно, даже не Сиродил, а нижний уровень root sander ruins, когда там хотя бы полрейда собирается ![]()
__________________
People hate ESO because they love it
|
|
![]() |
![]() |
#260 | |
Гигант мысли
|
Re: Технические вопросы
Я ж выше писал - верю, что коллизии с пассивными объектами считаются на клиенте. Но с активными - игроками, неписями - должны считаться на сервере по-любому, иначе ерунда получится.
Сталбыть, ESO зачем-то хочет 4 процессорных ядра ? У i3-то их штатно 2. |
|
![]() |
![]() |
#262 | |
Гигант мысли
|
Re: Технические вопросы
Ну давайте, расскажите мне про HyperThreading и "другое"
![]() Было 4 "логических" ядра на i3 с включенным HT, выключили, стало джва (которые физические). Появились фризы. Значит - что ? Какие-то процессы/нити хотят процессорного времени, и им стало не хватать. Может быть, эти процессы и не связаны с eso.exe (что-то внешнее), но двух ядер суммарно им и TESO уже не хватает. Вот и все выводы, собственно. |
|
![]() |
![]() |
#263 | |
PvP only
|
Re: Технические вопросы
доля логики есть(погуглил вспомнил
![]() ![]()
__________________
organic only
![]() |
|
![]() |
![]() |
#265 | |
Гигант мысли
|
Re: Технические вопросы
Поручаться за это, разумеется, не стану - тестирования на предмет того, от чего больше ТЕСО зависит - от процессора или видюхи - не проводил. |
|
![]() |
![]() |
#266 | |
PvP only
|
Re: Технические вопросы
русиш рулетка епт ,зенимаксы сами не поняли ,де и че намудрили ,играешь с туманом ? ставь мод выше ,только дальности прорисовки выкручивай на половину рекомендуемых ,во всяком случае ,я именно так собираюсь выжимать фпс из тесо в машине i3-2120T + GT 430 изврат во плоти
![]() и что тебе дает этот разгон? ну кроме отключения турбо бост и как следствие ,прожорливости ?
__________________
organic only
![]() |
|
![]() |
![]() |
#267 | |
Предводитель
|
Re: Технические вопросы
![]() Вот как раз с пассивными объектами - можно полностью на стороне сервера оставить, когда движения игрока будет блочить сервер, т.к. он всегда, в любой момент времени, совершенно точно знает координаты недоступных мест ![]() |
|
![]() |
![]() |
#268 | |
Гигант мысли
|
Re: Технические вопросы
![]() Притом, что в то же самое время видюха (ПЕЧ580) жрет под 300 Вт и не морщится. Разгон же с 3,3 ГГц до 4 ГГц всех ядер (турбо-буст на деле гонит по максимуму только одно - нулевое ядро, остальные - меньше: у моего i5-2500K турбо-буст раскладывается так по ядрам штатно - 3,7 ГГц, 3,5 ГГц, без разгона, без разгона) - даёт более, чем заметный прирост фпс. Ну и при любой вменяемой системе охлаждения внешних эффектов типа воющих фанов от этого нет (видюха всё равно орет громче). Сильвер - верно, но не полно. Вы - совсем неверно. ![]() Именно сервер должен считать, произошло взаимодействие игрока, например, с другим игроком, или нет. Потому, что у него есть эта информация, а на клиенте её нет. Если бы это было действительно так, как Вы описываете - летающие и телепортирующиеся боты без хака собственно сервера были бы невозможны в принципе. А раз они есть - значит, коллизии с пассивными объектами частично или полностью считаются на клиенте. |
|
![]() |
![]() |
#270 | ||
Предводитель
|
Re: Технические вопросы
Тоже самое, только дополнил совсем чуть-чуть.
![]() Ещё раз поясняю: клиент в себе имеет модели коллизий объектов, если клиенту правильно передают точку/позицию объекта и его ориентацию, все данные для отработки коллизий уже есть в клиенте. Так что должно считать на сервере? И после этого ещё раз спрашиваю: как это должно работать на сервере? Что должен делать сервер, кроме того, что я описал выше? Как именно, кроме того, как я описал, сервер должен "обрабатывать" коллизии? В прошлый раз уже был такой спор, только не с тобой, мне так никто и не ответил, что же должен делать сервер, кроме передачи координат объекта ![]() ![]() Quote:
А описываемая тобой ситуация - это не проблема клиента, а проблема кривого сервера. Даже пиратки палят такие читы, т.к. они (сервера) знают где может быть игрок, а где нет. ![]() |
||
![]() |
![]() |
#271 | |
PvP only
|
Re: Технические вопросы
с 580ой печью ? онли тесо ? мне казалось ,что такой проц стоит гнать имея минимум 680 /7970,ибо узкое горло (естественно я только про игры),кстатьи ,по графику у меня вроде все ядра "подскакивали"с турбо бостом на и5ом ,правда мобильном ,и довольно старом .
__________________
organic only
![]() |
|
![]() |
![]() |
#272 | |
Гигант мысли
|
Re: Технические вопросы
![]() Как бы попроще объяснить-то... Сервер должен дать следующие координаты и состояние объектов. Всех, которые есть в отрисовываемой сцене, или частично (активных - т.е. информация об изменении положения и состояния которых попадает сначала на сервер (в случае, если в сцене присутствует несколько игроков/активных неписей), а оттуда - на клиент). Перед этим он должен рассчитать эти самые координаты и состояние, на основании предыдущих данных и полученных с клиентов участвующих в сцене игроков данных о движении/действиях. Клиенты эти данные могут получить только с сервера - обмен-то ими не р2р. И это не "предугадывание", а именно предсказание - на основании последних имеющихся данных: например, игрок секунды двигался по прямой - значит, есть ненулевая вероятность, что он и дальше секунду- другую будет двигаться по прямой же. Предсказали с обоих концов (на клиенте дублируем расчет коллизий с пассивными объектами) движение удачно и успели засинхронизироваться с обоих концов за некий контрольный промежуток времени - ОК, нет - мини-роллбэк на клиенте (на доли секунд- единицы секунд). Т.е. накладные расходы нехилые, результат не гарантированный - но иногда помогает. Есть ли оно в ТЕСО - мне неизвестно. Пока что на основании наблюдений - нет, но это субъективно. И да, завязывайте с категоричностью. В порядке совета. Все имеющиеся игры. Нет. Игры, в особенности ММО, пока еще заметно процессорозависимы. |
|
![]() |
![]() |
#273 | |
PvP only
|
Re: Технические вопросы
ну ни знаю , проц дает координаты сетки - видюха накрывает по ним полигоны ,утрированно конечно ,разгон ради цифр в бечмарке и ничтожного увеличения фпс считаю нецелесообразным ,хотя конечно может помочь откровенно кривому исполнению продукта .
__________________
organic only
![]() |
|
![]() |
![]() |
#275 | ||
Предводитель
|
Re: Технические вопросы
Quote:
![]() ![]() Сервер должен передать положение объекта и его ориентацию - коллизии обработает клиент, так ещё раз - что должен проверять сервер? ![]() ![]() ![]() Ты пишешь бред. Если сервер своевременно передаёт координаты клиентам ему нет нужды просчитывать коллизии, если он не в состоянии своевременно передать верные координаты, то нет нужды отрабатывать коллизии на сервере, т.к. они просто всегда буду неверными, потому как опаздывают. Ну и простой пример в TESO. Есть коллизии с мобами. Отруби сеть и посмотри как ведёт себя клиент, будет ли он проходить сквозь мобов, если от сервера не будет поступать инфы? У меня вот такой зависон был... Ты будешь в шоке! ![]() ![]() Добавлено через 2 минуты Offtopic:
![]() Last edited by Kirixoid_renamed_1055396_19012023; 25.06.2014 at 23:59. Reason: Добавлено сообщение |
||
![]() |