- 235
- 3
- 21
вечер добрый
"не лезь, оно тебя сожрет" - лучшее описание для этого вопроса, но все же
как работают потоки я хорошо знаю, меня интерисует, стоит ли вообще за это садится и с чем возможно мне предстоит столкнуться
у меня есть свой зомби который ломает блоки (это самое тяжелое) и еще штуки 2-3 новых ai, и все бы ничего, но для моего режима в порядке вещей, что в округе по 500+ зомби
от такого количества однопоточный кубач начинает вешаться
возможно ли вынести обработку хотя бы алгоритма ломания блоков в отдельный поток(и), подцепляется алгоритм в onUpdate() у моего моба, на вход по сути все что ему нужно это координаты игрока которого он атакует, свои координаты, и возможность получать информацию о блоках по координатам
на выходе отправка пакетов с частицами и звуками (не думаю что тут что нибудь сломается от нескольких потоков, а если и сломается сделать единый поток для отправки пакетов не сложно) и финальное ломание блока (происходит не так часто, проще всего наверное будет оставить в основном потоке, чтобы не сломать ничего)
что может тут сломаться? не будет ли приколов, если 2 потока сразу будут пытаться получить 1 блок по координатам? тот же вопрос про чтение полей entity и получения списка сущностей в радиусе (для других алгоритмов)?
"не лезь, оно тебя сожрет" - лучшее описание для этого вопроса, но все же
как работают потоки я хорошо знаю, меня интерисует, стоит ли вообще за это садится и с чем возможно мне предстоит столкнуться
у меня есть свой зомби который ломает блоки (это самое тяжелое) и еще штуки 2-3 новых ai, и все бы ничего, но для моего режима в порядке вещей, что в округе по 500+ зомби
от такого количества однопоточный кубач начинает вешаться
возможно ли вынести обработку хотя бы алгоритма ломания блоков в отдельный поток(и), подцепляется алгоритм в onUpdate() у моего моба, на вход по сути все что ему нужно это координаты игрока которого он атакует, свои координаты, и возможность получать информацию о блоках по координатам
на выходе отправка пакетов с частицами и звуками (не думаю что тут что нибудь сломается от нескольких потоков, а если и сломается сделать единый поток для отправки пакетов не сложно) и финальное ломание блока (происходит не так часто, проще всего наверное будет оставить в основном потоке, чтобы не сломать ничего)
что может тут сломаться? не будет ли приколов, если 2 потока сразу будут пытаться получить 1 блок по координатам? тот же вопрос про чтение полей entity и получения списка сущностей в радиусе (для других алгоритмов)?