Шаблоны оптимизации
Тогда как рост производительности железа уже давно удовлетворил потребности большинства программ, игры до сих пор остаются исключением. Игроки всегда желают получить еще более богатый, реалистичный и захватывающий игровой опыт. Игры пытаются любым способом привлечь внимание игрока и те кто выжимает из железа больше чем остальные зачастую выигрывают.
Оптимизация для увеличения производительности - это глубокое искусство, затрагивающее все аспекты программирования. Низкоуровневые программисты учатся работать с самыми незначительными особенностями архитектуры железа. В то же время разработчики алгоритмов разрабатывают математические аппараты для повышения их эффективности.
Здесь я затрону несколько среднеуровневых шаблонов, которые часто используются для ускорения работы игры. Локализация данных( Data Locality) познакомит вас с современной иерархией организации памяти и как ее можно использовать в своих целях. Шаблон Грязный флаг( Dirty Flag) поможет избавиться от лишних вычислений, а Пул объектов( Object Pools) поможет избежать лишнего выделения памяти. Разделение пространства (Spatial Partitioning) ускорит виртуальный мир и размещение в нем его обитателей.