Вопросик по тикам

509
2
В майне один поток отвечающий за тики, и с помощью этого потока и печки работают и коровка ходит. Или всё же за печки и коровки есть отдельный поток.
P.S. Интересно стало просто :)
 
Skarlet написал(а):
В майне один поток отвечающий за тики, и с помощью этого потока и печки работают и коровка ходит. Или всё же за печки и коровки есть отдельный поток.
P.S. Интересно стало просто :)
Поток делится на два потока? ._.
 
Skarlet написал(а):
В майне один поток отвечающий за тики, и с помощью этого потока и печки работают и коровка ходит. Или всё же за печки и коровки есть отдельный поток.
P.S. Интересно стало просто :)
Для обработки всех миров в майне один поток, ибо нотч и его команда не сильно могли в многопоточности на момент релиза. Да и разработчики считали главным достижением игры - сингл, толком не воспринимая всерьез серверную часть. Но вот недавно появились всякие мини-игры и.т.д., в связи с этим в Minecraft 1.8 каждый серверный мир будет обрабатываться в отдельном потоке. Вроде бы как-то так.
 
minecraftsrv написал(а):
Skarlet написал(а):
В майне один поток отвечающий за тики, и с помощью этого потока и печки работают и коровка ходит. Или всё же за печки и коровки есть отдельный поток.
P.S. Интересно стало просто :)
Поток делится на два потока? ._.
Вот мне и интересно, один поток тиков и работа печек и т.д через тики, или несколько потоков.
 
Тикает в одном, рендерит в другом, наверное.
 
Насколько я помню, Майн особо на потоки не разделен. Разве что на сервер и клиент в сингле.
 
laz2727 написал(а):
Насколько я помню, Майн особо на потоки не разделен. Разве что на сервер и клиент в сингле.
В нем около 50ти потоков, если мне память не изменяет.
 
laz2727 написал(а):
Насколько я помню, Майн особо на потоки не разделен. Разве что на сервер и клиент в сингле.
Да, в 1.7 я видел уже прилично так. Даже для рендера скина и плаща отдельные потоки.
 
Тики не идут в отдельном потоке.
Рисуется всё, конечно же, в другом потоке - для него выделяется специальной свой поток от OpenGL, это уже низкоуровневые фичи, которые заложены в самом API. А вот все данные отправляются с главного потока. В кубаче нормального деления на потоки нет.
Сервер выделяет по 2 потока на каждого игрока - один на запись, другое на чтение пакетов. Это довольно ущербная система. Хотя в новой версии вроде перешли на Netty, где своя многопоточная система передачи данных, причем даже NIO, (Non-Blocking Input\Output), с организованными пулами потоков и прочими прелестями, которые существенно реорганизуют работу пакетов, заметно её оптимизируя и повышая её производительность.
Если бы почти на каждое действие в игре выделялся поток - возникли бы огроменные проблемы с синхронизацией, из-за которых могут возникнуть ужасные вещи вроде дедлока, так что неудивительно, что используют их только в части передачи данных. Хотя генерацию мира можно было бы и сделать в отдельный тред.
 
Вообще NIO значит New I/O если мне не изменяет вики, ну да ладно.

Как-же бесят эти мегатурбокрутые комментарии в умными словами. Хотя, когда я сам выучу такие слова, то скорее всего сам буду кого-то бесить, так что пофиг.
 
Арр, да, мой косяк. Но он несет в себе свойства Non-Blocking.
[merge_posts_bbcode]Добавлено: 13.05.2014 19:02:30[/merge_posts_bbcode]
JvFLomG.png

Таки я всё правильно сказал:
Vp5ct0T.png
 
Назад
Сверху