Производительность Unity на мобильных устройствах

Производительность Unity на мобильных устройствах

Сделал для себя выдержку самых интересных моментов с вот этой презентации по производительности мобильных телефонов в играх на движке Unity.

iPhone 5s для игры на 60 FPS сможет каждый кадр отрисовать 75 экранов и 1.13 миллионов триугольников (что очень круто):

Производительность iPhone 5S

А вот iPhone 4 сможет отрисовать только 10 экранов за каждый кадр. Т.е. если поставить 10 полупрозрачных плоскостей (одна за другой), то игра уже не будет работать на 60 FPS.

Также в каждом кадре четвёртый айФон сможет отобразить максимум 233’000 треугольников:

Производительность iPhone 4

iPhone4 iPhone5S
Сколько заскиненных персонажей на 384 треугольника сможет отрисовать 55 318
Сколько заскиненных персонажей на 5k треугольника сможет отрисовать 18 121
Сколько спрайтов (tightly packed) размером 512×512 сможет отрисовать 112 578

Но спрайты они с подвохом:

Скорость отрисовки спрайтов Square packed и Tightly packed

Чем меньше треугольников (Square packed спрайты), тем больше прозрачных пикселей, а это значит, что пахать будет GPU, а CPU будет отдыхать.

Но чем больше треугольников (Tightly packed спрайты), тем меньше прозрачных пикселей, а значит теперь GPU отдыхает, а напрягается CPU.

Продолжаем:

iPhone4 iPhone5S
Сколько очень прозрачных параллельных плоскостей (по 2 треугольника каждая) может отрисовать на весь экран 9 50

Несколько универсальных советов:

  1. Несколько высокополигональных объектов лучше, чем много низкополигональных.
  2. Где только возможно используйте непрозрачные шейдера.
  3. Чем меньше динамической геометрии и заскиненных персонажей, тем лучше.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *