NoiseThreader улучшает производительность генерации мира за счёт выборочного многопоточного выполнения генераторов мира, таких как генераторы шума.
В настоящее время добавляет многопоточность для генераторов шума в измерениях Vanilla (Обычный мир/Энд/Незер), а также для генератора Обычного мира OpenTerrainGenerator.
Также добавляет многопоточность для генератора пещер/шума в YUNG's BetterCaves.
Стандартные генераторы шума выполняют ресурсоёмкие вычисления только в основном потоке сервера при генерации чанков. NoiseThreader повышает производительность, разделяя эти вычисления и распределяя нагрузку между несколькими потоками.
Прирост производительности может различаться на разных системах, однако в тестах даже 4 ядра демонстрируют улучшения благодаря многопоточности генераторов шума.
По умолчанию минимальное количество ядер, необходимое для активации многопоточности в NoiseThreader, установлено на 4 в целях безопасности. Это значение можно изменить в конфигурации, и улучшения могут наблюдаться даже на слабом железе.
Профилирование времени генерации карты высот (шума) на тестовой системе показало прирост производительности примерно на 50% для Обычного мира Vanilla.
Для Обычного мира OTG результаты составили около 60% улучшения, что более значительно из-за более высокой стоимости генерации в OTG: время генерации карты высот сократилось с ~2.5 мс/чанк до ~1 мс/чанк.
(Для сравнения, существующий мод Multithreaded Noise показал улучшение примерно на 25%-30% и работает только с Обычным миром Vanilla.)
Измерения Vanilla в Незере и Энде также продемонстрировали улучшения, хотя и менее значительные (~10%-30%) из-за использования меньших объёмов генерации шума.
Генерация пещер в YUNG's BetterCaves показала улучшение производительности примерно на 60%, что существенно, учитывая высокую долю затрат на эту операцию в процессе генерации мира.
Как и предполагает принцип многопоточности, наиболее значительные улучшения производительности будут заметны при высокой загрузке основного потока сервера, например, при использовании генерации OTG.