GFXBench 3.0 Metal оценил производительность нового API

Нынешний год наверняка войдет в историю компьютерной графики как время появления низкоуровневых API на персональных компьютерах. Как мы уже неоднократно рассказывали, их главным преимуществом является расширение «бутылочного горлышка» в графической производительности, которым является процессор (ЦПУ). В частности это происходит за счет распределения нагрузки между всеми ядрами ЦПУ, сокращения времени на вызов отрисовки (команду, направленную от ЦПУ к ГПУ нарисовать определенный объект) и прямого обращения к ГПУ (видеокарте). Подобными возможностями обладают игровые приставки. Поэтому даже уступая игровым ПК с топовыми видеокартами по производительности, благодаря оптимизации консоли прекрасно справляются даже с новейшими тяжелыми играми. Отныне, благодаря Mantle, DirectX 12, Vulkan и с недавних пор Metal, разработчики игр для ПК получают возможность для оптимизации игр и для персональных компьютеров.

Но проблема узкого места существует не только для персональных компьютеров, но и мобильных устройств. При впечатляющем росте производительности мобильных ЦПУ, быстродействие ГПУ растет намного быстрее, в чем можно убедиться глядя на этот график:

На примере планшетов iPad можно видеть, что за пять поколений этого устройства производительность ЦПУ выросла в 12 раз, а ГПУ — в 180 раз. На других мобильных процессорах наблюдается схожая динамика, поэтому можно говорить, что не поспевающее за ГПУ ЦПУ становится узким местом всей системы. Отчасти эту проблему призван решать разработанный Apple API Metal, анонсированный на прошлогодней WWDC.

И вот создатели бенчмарка GFXBench представили сегодня новое приложение, призванное оценить графическую производительность устройств с приложениями, написанными под этот API — GFXBench 3.0 Metal. И сегодня же они вместе с нашими коллегами из AnandTech опубликовали результаты тестирования быстродействия iOS-устройств на новом API. Так что мы с вами имеем возможность оценить насколько выросла графическая скорость планшетов и смартфонов Apple только за счет программной оптимизации.

Для сравнения OpenGL ES 3.1 с Metal лаборатория AnandTech воспользовалась тремя тестами. Первых из них, GFXBench 3.0 Driver Overhead, один за другим отрисовывает большое количество объектов, и таким образом оценивает синтетическую производительность системы именно в этом качестве. Два других теста, Manhattan и T-Rex, намного ближе приближены к реальной игровой нагрузке. Результаты получились следующими (iOS 8.3):

Как видим, в синтетическом тесте новый API показывает весьма значительный прирост быстродействия — в 3.5-4.3 раз, в зависимости от устройства. Для сравнения десктопные API в синтетических тестах показывают примерно 7-кратный прирост производительности.

Как и следовало ожидать, рост быстродействия в игровых тестах намного ниже:

Как видно из диаграмм, самый большой прирост из всех устройств (у iPad Air 2) составляет 11%, в то время как на остальных моделях им практически можно пренебречь. Опять же для сравнения десктопные низкоуровневые API в реальных играх достигают почти 1.5-кратного прироста в производительности.

Таким образом, полученные результаты явно не соответствуют громким заявлениям Apple о 10-кратном приросте производительности по вызовам отрисовки — даже в синтетических тестах результаты намного скромнее.

Впрочем, это только первые результаты, причем в отдельно взятом тесте — возможно в новых версиях Metal и непосредственно в играх будет достигнута еще лучшая оптимизация. Благо представленная на WWDC 2014 игра Zen Garden (см. фото сверху) демонстрировала вполне десктопный уровень производительности.

Напоминаем, что API Vulkan объединит десктопную и мобильную платформы, а DirectX 12 в рамках Windows 10 будет работать и на мобильных устройствах. Поэтому со временем мы рассчитываем увидеть результаты испытаний мобильных версий этих API и сравнить их с Metal.

С использованием данных AnandTech