Nokia Lumia 610
Nokia Lumia 610

Lumia 610 — это первое устройство, на котором предустановлено обновление Tango. Как обновление ОС, Tango привносит только незначительные изменения в функциональность Windows Phone. Апдейт прежде всего предназначен для нормального функционирования смартфонов с 256 Мб оперативной памяти. Именно столько имеет Lumia 610. Ещё одно значительное отличие (с точки зрения разработчика) состоит в том, что у 610 частота процессора только 800 МГц (у устройств первого поколения было 1ГГц, а у большинства смартфонов второго поколения — 1,4-1,5 ГГц). Представляем вашему вниманию заметку Андраша Велварта (András Velvárt), разработчика приложений для Windows Phone (имеет статус Silverlight MVP).


Lumia 610 имеет отличный дизайн, особенно чёрно-белая версия телефона, которую вы видите выше. Она выглядит лучше, чем более функциональная Lumia 710. Производительность Tango хороша, поэтому, пока вы пользуетесь встроенным приложениями системы, разница не заметна. Внешний вид, цена, и изначальная производительность (при использовании только ОС) сделают аппарат просто хитом для тех, кто только собирается войти в мир смартфонов.

При запуске приложений от сторонних производителей, ситуация кардинально меняется. Некоторые приложения начинают грузиться целую вечность, при запуске некоторых програм можно наблюдать неплавную прокрутку, медленное время реагирования и подвисания.

Загрузка приложений/производительность CPU

Во второй части статьи я исследовал время запуска приложений. Давайте посмотрим, как три телефона справятся с этим заданием: Lumia 610, LG Optimus 7 и Lumia 800.

Я протестировал приложение по прорисовке звёзд на всех трёх телефонах. LG Optimus 7 — это добротный телефон на Windows Phone первого поколения, с 1 ГГц процессором. Lumia 800 — представитель второго поколения, с процессором на 1,4 ГГц. Оба с 512Мб оперативной памяти. Как я уже говорил, у Lumia 610 процессор на 800 МГц и 256 Мб оперативной памяти. Просто для сравнения, я добавил результаты эмулятора.

Первая колонка таблицы показывает количество звёзд (небольших эллипсов), а остальные колонки — кол-во миллисекунд, которые потребовались для запуска приложения. Звёзды прорисовываются при запуске пользовательского интерфейса, так что этот процесс задерживает запуск приложения.

Скорость отрисовки
Скорость отрисовки
Скорость отрисовки - диаграмма
Скорость отрисовки - диаграмма

Результаты получились неожиданными, но ясно показывают, насколько эффективен CPU в Lumia 610. Несмотря на 20% разницу в скорости процессора, Lumia 610 легко достигла производительности LG Optimus 7. Она даже прорисовала 20.000 звёзд, чего не смог сделать Optimus 7 за 20 секунд (после этого система автоматически закрыла приложение).

Это, конечно, не исчерпывающий тест CPU. Но это ясно показывает, чего ожидать от Lumia 610 в Silverlight, тестовое приложение использует подсистемы раскадровки и рендеринга Silverlight, ключевые для производительности любого приложения.

Производительность графического ядра

Для того, чтобы измерить чистую производительность графического ядра, я использовал Fill Rate Test Sample из статьи на MSDN Измерение производительности в приложениях на Windows Phone. Он не проверяет такие вещи как шейдеры, изменение перспективы, но тоже довольно показателен. Я постепенно увеличивал количество прямоугольников на экране, что в свою очередь увеличивало скорость заполнения. Как мы видели в четвёртой части этого цикла статей, The Power of the GPU, скорость заполнения — это важный показатель того, какой объем работы выполняет GPU, высокая скорость заполнения приводит к падению FPS (кадров в секунду). Результаты тестирования приведены в таблице:

Производительность графического ядра
Производительность графического ядра
Скорость заполнения
Скорость заполнения

Как вы можете видеть, Lumia 610 не просто сравнялась, а серьёзно превзошла по скорости первое поколение Optimus 7, показав почти вдвое большее количество кадров в секунду под большой нагрузкой! Мощность графического ядра и вычислительного чипа Lumia 800 на 75% выше, чем у 610, разница в тестах соответствующая.

У Optimus 7 количество кадров в секунду начинает падать при скорости заполнения всего 2,5 (максимум 50 кадров вместо обычных 60). В этой точке скроллинг становится немного дёрганным, он начинает прыгать каждую секунду, оставаясь плавным между рывками. Это очень низкий показатель, он едва ли позволит вам вывести целый экран текста поверх фонового изображения. Точка падения производительности для 610 намного выше — при скорости заполнения равной 4. Это означает, что 610 может манипулировать в полтора раза большим количеством пикселей на экране без видимых рывков. Конечно, Lumia 800 выигрывает снова, скорость заполнения может достигать 8 до появления первых признаков замедления.

Optimus 7 достигает тяжелой отметки (где количество кадров падает ниже 30 FPS) слишком рано, при скорости заполнения 5 мы уже попадаем в опасную зону. 610 может справиться с количеством пикселей на 70% больше, прежде чем достигнет 30 FPS, при скорости заполнения 8,5, в то же время 800 летает при скорости заполнения 15.

Память

Итак скорость процессора Lumia 610 такая же как и у устройств первого поколения, а мощность графического ядра даже больше. Почему же я сказал, что производительность Lumia 610 не идеальна? Всё из-за недостатка памяти.

Microsoft проделала колоссальную работу, впихивая Windows Phone 7.5 Mango в 256 Мб. Единственная вещь, которую пришлось убрать — это фоновые задачи и некоторые медиа-кодеки (подробнее — здесь). Для собственных нужд приложения на Lumia 610 имеют только 60 Мб в оперативной памяти. В обновлении Tango была улучшена схема виртуализации памяти, благодаря этому в распоряжении разработчика 30 дополнительных мегабайт свопа. Если приложение израсходовало оперативный ресурс, происходит обращение к свопу. В этом случае запущенная в данный момент программа начинает тормозить.

Есть несколько отличных постов Майка Баттисты (Mike Battista) по оптимизации бюджетных телефонов которые показывают, что можно сделать в этой ситуации. Следуя его инструкциям, можно значительно ускорить приложения. Но если вы используете WebBrowserControl или Bing Maps (и не от них отказаться), то вам не повезло. Что бы вы не делали, эти приложения будут занимать слишком много памяти. Например, WebBrowserControl может легко использовать 50-52 Мб оперативной памяти.

Lumia 610 загружает тяжелую страницу, используя 56 Мб памяти (позже падает до 42) из доступных 60
Lumia 610 загружает тяжелую страницу, используя 56 Мб памяти (позже падает до 42) из доступных 60

Чтобы увидеть, что такое нехватка памяти при использовании WebBrowserControl, посмотрите это видео. Заметьте, что я не загружал в браузер ничего,кроме текстового файла, а если бы загрузил, то 610 стала бы невероятно медленной.

Итог

Lumia 610 на удивление мощное устройство, которое легко сравняется с первым поколением телефонов на Windows Phones и даже превосходит их, когда дело касается графики. Однако недостаток памяти не дает этому порадоваться, а тяжёлое приложение может привести к замедлению работы и временным зависаниям. Несмотря на мощные GPU и CPU, потребуется значительные усилия разработчиков, чтобы сделать работу устройства такой же быстрой, как и на телефонах первого поколения.

Система Orphus