Ubisoft о движке AnvilNext 2 - в 10 раз больше объектов, DIP меньше на пару порядков
Пару дней назад закончилась конференция SIGGRAPH, посвященная вопросам компьютерной графики; разработчики Ubisoft Ульрих Хаара и Себастьян Аальтонен представили интереснейший (если вы знаете, что такое DIP или окклюдер) доклад, посвященный движку AnvilNext 2, который используется в Assassin's Creed: Unity и Assassin’s Creed: Syndicate.
Кстати, на сайте читать удобнее
В новых играх серии Assassin's Creed планировалась большие отлично проработанные города и не менее проработанные интерьеры, так что команде нужен был значительно более производительный движок.
Инженерам Ubisoft удалось добиться успеха - AnvilNext 2 поддерживает приблизительно в 10 раз больше объектов, чем предыдущая версия движка, и отрисовывает их значительно быстрее - DIP (количество запросов на отрисовку примитивов) уменьшилось на 1-2 порядка.
Кроме того, для увеличения производительности была существенно доработаны технологии отсечения объектов вне сцены.
Нашей главной задачей было уменьшение использования CPU в расчете на один объект; это удалось сделать, однако некоторые старые техники вроде расчета LOD все еще потребляют больше ресурсов процессора, чем хотелось бы.
Чтобы освободить больше ресурсов GPU мы разработали более эффективную технологию отсечения невидимых объектов и создали асинхронную систему отрисовки объектов.
В будущем Ubisoft планируют использовать возможности DirectX 12 и Vulkan, а также перенести больше расчетов с CPU на GPU.
Использование несвязанных текстур поможет нам значительно уменьшить DIP; помимо уменьшения нагрузки на процессор это также снизит нагрузку на GPU - можно будет идеально отсортировать объекты по глубине кадра и отрисовывать их в нужном порядке.