Архив сообщества
2011 — 2019
Аватар Larboss

Реверс-инженеринг клиента игры

Автор: Larboss · 09.02.2017, 08:12 · 20 сообщений

Сообщений в теме: 20

Larboss#1
Добрый день.

Никто не занимался реверс-инженерингом клиента игры в целях поиска способа повысить FPS? Или у нас в бьенде FPS = TickRate?
0
Скопировать ссылку
fey#3
Не лезь блять, дебил сука ебаный. Бьендопарашу нет смысла разбирать.
Хочешь фпса, учись читать код, переписывай его.
0
Если вам понравилась моя публикация, комменатрий, хоитет сказать спасибо, можете сделать это здесь, поставив плюсик или оставить свой отзыв.
Скопировать ссылку
Jarl#5
Напишу универсальную пасту для этого платинового вопроса. Ошибусь - правьте.

В основе обработки ССочки лежит МастерКонтроллер. Это механизм, циклично раз за разом обрабатывающий все внутренности игры, имеющие немгновенные, во времени взаимосвязанные действия. Даже горелка газовая обрабатывается им.

Цикл обработки идет, очевидно, сразу после предыдущего. Машина хоста, все так же очевидно, имеет примерно одинаковую производительность во времени.
Так, теоретически, "быстродействие" игры напрямую зависит от нагрузки на эти циклы.

Всякая операция с машиной (итерация) занимает очень малое, но все же значимое время. Но как капли составляют лужу, множество итераций создают длительную паузу.
Так, большое количество обработки в этом цикле создает продолжительное время его обработки, а значит и следующий цикл произойдет позже.

Продолжительное время между циклами обработки и есть т.н. "лагач".

По моему личному мнению, повысить быстродействие в игре можно двумя путями:
    - Улучшить серверный код бъенда (что не в наших силах).
    - Рефакторинг (упрощение) программного кода отдельного билда, для снижения нагрузки на каждый цикл. Ведь многие фичи в СС написаны по принципу снежного кома: "Я напишу эту фичу неэффективно, но она одна же не может создать большого лагача!", но вместе эти фичи и делают лаг.
6
ИзображениеИзображение
Скопировать ссылку
Larboss#6
Jarlo (08 February 2017 - 23:45) писал: писал:
Напишу универсальную пасту для этого платинового вопроса. Ошибусь - правьте.

В основе обработки ССочки лежит МастерКонтроллер. Это механизм, циклично раз за разом обрабатывающий все внутренности игры, имеющие немгновенные, во времени взаимосвязанные действия. Даже горелка газовая обрабатывается им.

Цикл обработки идет, очевидно, сразу после предыдущего. Машина хоста, все так же очевидно, имеет примерно одинаковую производительность во времени.
Так, теоретически, "быстродействие" игры напрямую зависит от нагрузки на эти циклы.

Всякая операция с машиной (итерация) занимает очень малое, но все же значимое время. Но как капли составляют лужу, множество итераций создают длительную паузу.
Так, большое количество обработки в этом цикле создает продолжительное время его обработки, а значит и следующий цикл произойдет позже.

Продолжительное время между циклами обработки и есть т.н. "лагач".

По моему личному мнению, повысить быстродействие в игре можно двумя путями:
- Улучшить серверный код бъенда (что не в наших силах).
- Рефакторинг (упрощение) программного кода отдельного билда, для снижения нагрузки на каждый цикл. Ведь многие фичи в СС написаны по принципу снежного кома: "Я напишу эту фичу неэффективно, но она одна же не может создать большого лагача!", но вместе эти фичи и делают лаг.
Это выходит, что бульеновые парни разработали такую кривую архитектуру, что клиентский FPS зависим от серверных плясок? Печально, конечно.

Странно, но на Win XP когда играешь местами FPS то взлетает (выше стандарта), то падает. Хотя такого нет на Win 7... но ладно, я понял.
0
Скопировать ссылку
fey#7
Ты наверное не очень понимаешь что такое фпс.
Фпс это количество кадров в секунду.
То, что ты наблюдаешь это не фпс, а банальные лаги. Как если бы ты играл в контру, а другие дергались. Тут тоже самое, только сервер начинает медленней работать. Соответсвенно однодвижение занимаен полсекунды, потом секунду.
Самая близкая аналогия - задержка в EVE Online. Там во время баталий на 2к игроков и около того сервер начинает замедлять ход игры, в результате выстрел занимает время не 5 секунд, а все 50.
Тут тоже самое. Пока сервер пройдет по всем событиям, обработает их, пройдет время. Вот и получаем пошаговость.
0
Если вам понравилась моя публикация, комменатрий, хоитет сказать спасибо, можете сделать это здесь, поставив плюсик или оставить свой отзыв.
Скопировать ссылку
Larboss#8
fey (09 February 2017 - 00:30) писал: писал:
Как если бы ты играл в контру, а другие дергались
Ну вот как раз на примере контры - как бы не лагало, а у меня FPS 300+. Сетевая часть отделена от рендеринга. А здесь у нас FPS 10. Я вот о чем.
0
Скопировать ссылку
TereTox Multi#9
Larboss (09 February 2017 - 00:54) писал: писал:
Ну вот как раз на примере контры - как бы не лагало, а у меня FPS 300+. Сетевая часть отделена от рендеринга. А здесь у нас FPS 10. Я вот о чем.
Ты случаем с конфигом прямого ФПСа билда не путаешь? Его можно настроить хоть в момент самой игры через дебаг. На консервированных хабах сборок он по дефолту стоит низкий.
0
Скопировать ссылку
Elijah Beily#10
fey (09 February 2017 - 00:30) писал: писал:
Самая близкая аналогия - задержка в EVE Online. Там во время баталий на 2к игроков и около того сервер начинает замедлять ход игры, в результате выстрел занимает время не 5 секунд, а все 50.
Я бы взглянул на такое слоумо.
0
Знания не могут принадлежать отдельному человеку, даже тысячам людей.
Скопировать ссылку
Volik#11
Larboss (09 February 2017 - 00:54) писал: писал:
Ну вот как раз на примере контры - как бы не лагало, а у меня FPS 300+. Сетевая часть отделена от рендеринга. А здесь у нас FPS 10. Я вот о чем.
А какой смысл отделять рендеринг от сетевй части, в, блять, бьонде? Тут же даже интерполяции никакой не запилишь.
2
СпойлерИзображение
Скопировать ссылку
PlIn#12
Volik (09 February 2017 - 05:45) писал: писал:
А какой смысл отделять рендеринг от сетевй части, в, блять, бьонде? Тут же даже интерполяции никакой не запилишь.
Чтобы синга крутилась во время лагов.
2
Изображение
Скопировать ссылку
Exo_Revan#13
PlIn (09 February 2017 - 05:51) писал: писал:
Чтобы синга крутилась во время лагов.
Так она и так крутится.
0
The Rodger8games (13 December 2015 - 11:12) писал: писал:
В пизду вас всех,в пизду этот сайт, в пизду ВСЕ!ПОЧЕМУ СУКА,Я БЛЯТЬ СДЕЛАЛ ВАМ ВОПРОС,А ВЫ МНЕ ПЛАШКУ ПОСТАВИЛИ,СУКИ!
OOC: Anton Jenkins: А он атаковал меня, пока ты в РП
Tertiumdatur: Мы все ошиблись, когда открыли для себя сску.
Скопировать ссылку
PlIn#14
Exo_Revan (09 February 2017 - 06:16) писал: писал:
Так она и так крутится.
Значит рендеринг и так отделен от сетевой части.
1
Изображение
Скопировать ссылку
Lalka#15
PlIn (09 February 2017 - 06:30) писал: писал:
Значит рендеринг и так отделен от сетевой части.
Анимация упакованная в dmi проигрывается клиентом жеж, через ieframe, как гиф.
0
Спойлер
Слепой телефон - рису рисовали как умели
Изображение

Скопировать ссылку
koghs#16
Elijah Beily (09 February 2017 - 05:43) писал: писал:
Я бы взглянул на такое слоумо.
На ютубе куча записей битв, причём когда игроков РЕАЛЬНО МНОГО даже самые короткие и экшоновые из них могут идти в общей сложности до двух часов.
0
Скопировать ссылку
fey#17
Эх. Вот еще при Царе Бархандере, когда Токсины Горели, вот тогда реально слоумо так слоумо было. Была пошаговость.
А щас...Эх, не то это, не то.
2
Если вам понравилась моя публикация, комменатрий, хоитет сказать спасибо, можете сделать это здесь, поставив плюсик или оставить свой отзыв.
Скопировать ссылку
Rosalimo#18
fey (09 February 2017 - 08:59) писал: писал:
Эх. Вот еще при Царе Бархандере, когда Токсины Горели, вот тогда реально слоумо так слоумо было. Была пошаговость.
А щас...Эх, не то это, не то.
И что б по прибытию Моргана Джеймса половина станции по шкафчикам пряталась.
0
Скопировать ссылку
fey#19
К прибытию Жемса моргана половина станции не прячется по шкафчикам.
Они просто космированы.
0
Если вам понравилась моя публикация, комменатрий, хоитет сказать спасибо, можете сделать это здесь, поставив плюсик или оставить свой отзыв.
Скопировать ссылку
sasichkamega#20
Единственное, что работает на стороне клиента (имеется в виду то, что мы можем активно трогать) - это джаваскрипт и skin скрипты (хотя они тоже на js)
0
Цитата
Ролевой отыгрыш РП. Стремная хуйня, извращенная самими ярыми почитателями и профессианальными™ ролевиками. Прекрасное и ненавязчивое явление превратили с стремное и ужасное нечто, которое стало способно пугать своими стонами любое нормальное божие создание. Способ излечиться очень прост -- всеочищающий загрифон, который мигом заставит рассосаться всю псевдо-ралиплейную гниль.


dm-startup.sh - для удобного запуска билдосиков
Скопировать ссылку

Обратно в Свободное общение