Если это имеет значение, я работаю в Unity с C#.
В любом случае, я работаю над двухмерной нисходящей игрой и, чтобы имитировать нашу воду (и различные другие угрозы для окружающей среды, которые имеет прямое отношение к игровому процессу), я использую большую 2D-сетку, в которой хранится информация об опасности в данном пространстве. Через некоторый интервал я перебираю сетку, и каждое пространство реагирует на свои 4 соседних пространства. Этот процесс проблематично не медленный, но мне не нравится, как он связан с одним потоком и занимает много времени, когда в моделируемой области присутствует большое количество опасностей.
Проблема в том, что у меня есть не знаю, как многопоточность большого количества небольших вычислений, которые напрямую зависят от состояния смежных данных, и при этом я не знаю, как сформулировать этот вопрос, чтобы даже написать хорошую статью на эту тему.