IT-словарь › Программирование › Система задач (job system)

Система задач (job system)

Программирование Svenska → Обновлено: 2026-10-25

Планировщик движка, который разбивает кадр на мелкие задачи и гоняет их по пулу потоков с учётом зависимостей, так что все ядра заняты без ручной возни с потоками.

Вместо одного потока на каждую подсистему он раскладывает короткие задачи — «обнови эти 500 частиц», «отсеки этот узел» — по пулу, где на каждое ядро приходится по рабочему потоку. Задача может объявить зависимость от другой, поэтому планировщик строит граф зависимостей и выполняет всё независимое параллельно. Простаивающие воркеры воруют задачи из очередей занятых (work stealing).

Система Naughty Dog на файберах (GDC 2015) позволяла дёшево приостанавливать и возобновлять задачи; C# Job System в Unity донесла этот подход до широкой аудитории. Выигрыш предполагает, что данные лежат массивами и устроены по data-oriented-принципам, иначе задачи будут драться за одни и те же кэш-линии.

← Назад к словарю