Вопрос вопросный

Хостинг игровых серверов

Necrons

Прохожий
7 Авг 2018
228
17
44
Кто вкурсе, в что упирается по производительности сервер раст? задумка такова сделать весь AI сервера живым независимо есть онлайн или нет чтобы мир существовал независимо от того есть в пределах 160 метров ( по дефолту, у меня 350) игроки или нет. =)
 

proxima

Новичек
3 Окт 2019
17
0
26
Ыыы, а давайте ещё построим корабль в расте, ыыы
 

Svinger

vk.com/allexter
Прохожий
7 Дек 2017
699
159
ты имеешь ввиду команду, которая задействует ai в клетках вне зависимости от наличия наблюдателя-игрока?
на некоторых серверах, где все это включено и есть отображение убийств животными животных, видно, что они друг друга убивают где-то за кадром, но какой вообще в этом смысл, если никто этого как минимум не увидит и нет взаимодействия с игроком?
 
Последнее редактирование:

Necrons

Прохожий
7 Авг 2018
228
17
44
насколько знаю сервер задействует только 2 ядра... либо чегото незнаю....
вопрос тогда перефразирую так, - какие частоты шины и памяти нужно для сервера раста чтобы он жил в независимости от наличия игроков ?

ты имеешь ввиду команду, которая задействует ai в клетках вне зависимости от наличия наблюдателя-игрока?
на некоторых серверах, где все это включено и есть отображение убийств животными животных, видно, что они друг друга убивают где-то за кадром, но какой вообще в этом смысл, если никто этого как минимум не увидит?

а смысл в том что мне это надо потому что у меня на сервере уже не раст =)
 

Necrons

Прохожий
7 Авг 2018
228
17
44
В одноядерностЬ?)
сразу видно что не понимаешь о чем речь...

Ыыы, а давайте ещё построим корабль в расте, ыыы
а давайте не будем чушь писать... - буквы "ы" фетиш?

ИИ захватит мир
именно =) нет онлайна нарисую себе игроков и буду играть в цивилизацию=))
 

Kira

Новичек
19 Июл 2018
137
37
насколько знаю сервер задействует только 2 ядра... либо чегото незнаю....
вопрос тогда перефразирую так, - какие частоты шины и памяти нужно для сервера раста чтобы он жил в независимости от наличия игроков ?



а смысл в том что мне это надо потому что у меня на сервере уже не раст =)
На 1 сервер 1 ядро
 

Kaidoz

вышел покурить
Разработчик С#
Обитатель
Прохожий
4 Фев 2018
330
208
vk.com
сразу видно что не понимаешь о чем речь...
да. видимо я еще не гуглил способ однопоточное говно переделать в многопоточное.
Самый простой способ - купить мощную машинку на одно ядро. Либо же думать над оптимизацией алгоритмов у животных, хотя в фейспанче тоже не дурачки работают))
 
Последнее редактирование:

Adm1n

Прохожий
22 Июн 2018
21
7
29
На 1 сервер 1 ядро
В одноядерностЬ?)
откуда инфа? для наглядности запустите сервак на 1, 2 и 4 ядрах, для убедительности возьмите несвежий проц какой-нибудь немощный ксенон сравните производительность и в графике быстродействия будет показано распределение нагрузки по всем задействованным ядрам, уже ставил подобные эксперименты с одним ядром сервак начинает лагать даже на относительно новом железе - если на одном ядре нагрузка пропорционально увеличивается убранным ядрам, то на всех имеющихся - плавно распределяется, уменьшаясь соответственно
 
Последнее редактирование:

Adm1n

Прохожий
22 Июн 2018
21
7
29
На верочку сказали. Покажите в коде игры намек на многопоточность, тогда и можно будет поговорить.
то есть когда в батнике прописываешь работу с одним ядром, остальные отдыхают, зато это ядро нагружено под завязку,
а в обычном режиме без выделения одного ядра на приложение нагрузка распределена между всеми ядрами поровну и потому намного меньше, чем на одно - это не показатель?
другими словами я запускаю сервак и вижу рост нагрузки цп по всем ядрам - это не многопоточность? то же самое игру и другие приложения
о какой однопоточности вы здесь говорите, когда сервак работает со всеми ядрами, нет перекосов и только после советов вешать по одному серверу на ядро начинаются фризы и лаги, оно и понятно - это одно ядро захлебывается, когда другие простаивают, как если бы из 8 цилиндров двигателя работал только 1;
Или я чего-то не понимаю или все кто пиздит про однопоток (на ядро) в расте - одноногие 🤔
 

Вложения

  • а.PNG
    а.PNG
    3.7 KB · Просмотры: 3
Последнее редактирование:
  • Like
Реакции: Антон

Kaidoz

вышел покурить
Разработчик С#
Обитатель
Прохожий
4 Фев 2018
330
208
vk.com
Или я чего-то не понимаю или все кто пиздит про однопоток (на ядро) в расте - одноногие
Можно привести в пример вас. Вы говорите, но не можете в это же время думать, ибо отсутствует многопоточность, так как не выиграли в генетической рулетке(а разрабы просто не написали многопоточный код).
По другому в принципе не скажешь после неопровержимого доказательства в виде скриншота из диспетчера задач))
Посидел минуты 2-3 - нагрузка на одно ядро(у меня если шо 6 ядер и 12 потоков). Нагляднее было бы без гипер трединга, но не особо есть желание с этим возится.
1580783175635.png
 
Последнее редактирование:

I_GRIN_I

Новичек
20 Янв 2020
1
3
Ну начнем с того, что юнити просто не может нормально в многопоток, тут даже тесты и доказательства не нужны. Т.к. основные функции и переменные юнитовских компонентов работают только в мейн потоке. Даже экзепшн для этого есть особый. Так что единственный варик многопоточности - делать какие то вычисления, записывать результат в какую нибудь конкурент очередь и в мейн потоке в апдейте доставать результат и обрабатывать, но фейспанч клоуны и даже до этого не додумались(а я уверен, что есть способ даже лучше).

Теперь к теме. Чел, тебе незачем симулировать постоянно весь мир, если его никто не видит. Ты опиши, что ты хочешь сделать, потому что для разных штук есть разные способы обмана. Ты думаешь, что в играх по типу римворлда, в котором ты не видишь планеты обрабатывается каждый гекс отдельно чтоли? Например, если тебе нужно просто, чтобы животные фигачились друг с другом за кадром - ты можешь просто с шансом генерить мертвого оленя где нибудь в ренже 200 от игрока, например, чтобы он пришел, увидел труп и такой: "ого, тут волк убил оленя, крута"(на самом деле он просто подумает, что рядом недавно был другой игрок и начнет его искать или прятаться, очень крута, прям ваще). Если тебе нужно прям, чтобы нпц был в одном месте, а потом пришел игрок и он уже в другом, то ты просто записываешь в нпц, таймстемп, когда последний раз был рядом игрок и потом при следующем конткакте считываешь таймстемп и находишь разницу, сколько секунд не было рядом игрока и высчитывашь, что могло случиться с нпц за N секунд и куда он успел пройти.


И кстати очень сочувствую тем, кто не может думать во время того, как говорит.
 
  • Like
Реакции: ХУЙ228, Necrons и Kira