Использование выделенного потока для обновления частиц снижает производительность - PullRequest
1 голос
/ 23 марта 2019

У меня есть симуляция boids с использованием ориентированного на данные проекта, и без какого-либо многопоточного кода он работает со скоростью 30 кадров в секунду.Я решил улучшить производительность, используя выделенные потоки для обновления boids, но производительность снизилась с 30 до 10 кадров в секунду.Данные являются глобальными, поэтому к ним может обращаться любой поток

Сначала я думал, что это проблема ложного обмена, поэтому я попытался запустить код обновления только с одним потоком, но у меня все еще низкий fps по сравнению сверсия без резьбы.Стоит упомянуть, что основной поток только получает доступ к данным для чтения (рендеринга) и никогда не записывает в них.Извините, если слишком много кода, но я попытался извлечь наиболее значительную его часть, чтобы вы могли понять, как он работает.производительность идет в мусорное ведро.Я действительно не знаю, что может быть.

...