Вопросы к Поиску с Алисой
Технология многопоточной оптимизации в современных игровых движках работает за счёт разделения игровых задач на независимые «потоки», которые могут выполняться на каждом из логических ядер многоядерного процессора. gist.github.com
Некоторые процессы, которые можно обрабатывать параллельно:
Многопоточность реализуется с помощью разных инструментов, среди которых:
В игровом движке основной цикл игры представляет собой последовательность, в которой выполняются все подсистемы по логическому порядку: логика, физика, графика и так далее. seanmiddleditch.github.io Каждая подсистема разделяет свою нагрузку на потоки и отправляет их в пул потоков. seanmiddleditch.github.io Затем она ждёт, когда все потоки завершат свою работу, выполняет необходимую постобработку и продолжает работу. seanmiddleditch.github.io
Некоторые преимущества такого подхода: нет необходимости реализовывать сложные и неэффективные механизмы синхронизации между подсистемами. seanmiddleditch.github.io Каждая подсистема может напрямую работать с игровыми объектами в памяти, потому что знает, что никто другой не модифицирует их одновременно. seanmiddleditch.github.io