За последнее время в сторону Unity было очень много хейта из-за экономических решений и многие решили просто отменить движок в наказание. Постараюсь изменить мнение людей с перспективы разработчика игр и рассказать о том, как Unity меняет индустрию к лучшему (пост не о монетизации, а о технологиях).
Я думал, что параллелизм это про графику и получается про нагрузку на видеокарту и получается про оптимизацию выполнения вычислений на видеокарте, а не про логику самой игры. Иными словами - в статье был пример, условно, у эпиков не оптимизированные технодемки. Я думал все упирается в видеокарту и код для нее. Тогда как ECS, Jobs и Burst это для работы с ЦПУ, как я понял. Если речь онли про мобилки - тогда я все понял, ухожу). А так для ПК не понимаю. Не думаю, что графика и физика сильно выиграет от оптимизаци для условных 12 потоков ЦПУ, когда есть 600~ на видеокарте.
Прежде чем видюха что-то отрендерит, на неё нужно отправить данные, верно? Кто отправляет данные? Процессорный код, да.
Ко всему прочему шина между процессором и ГПУ не очень большая и просто так отправлять гигабайты данных не выйдет. Отчего для оптимизации на процессоре можно просто вычислить, какие данные действительно нужно отправлять, а какие нет.
Вот и выходит, что у тебя 15мс на процессоре жрётся, пока видюха простаивает, а потом ещё 15мс на видюхе отрисовка занимается. А на мониторе 30 фпс.
А вообще, тот факт что ДХ12 хуже по производительности чем ДХ11 во многих играх, говорит лишь о том, что рендеринг игры не умеет в мультипоточность полноценно.