С 23 февраля, господа! Да, день защитника отечества давно перестал быть только для защитников, но им отдельный салют!
По случаю праздника мы подготовили статью о том, что любит большинство парней — об играх. Точнее, о нашей новой разработке под кодовым названием RAVEN, которая поможет сохранить заветные проценты, которые так быстро исчезают при игре на телефоне. Она рендерит только те игровые кадры, которые заметно отличаются от рядом стоящих. Заглядывайте под кат!
![](https://habrastorage.org/webt/dq/bm/qa/dqbmqago1gvlic8oepdbsv84uuc.jpeg)
За последние десять лет мобильные игры стали огромной отраслью всей игровой индустрии. По данным Newzoo, глобальный рынок мобильных игр достиг $46,1 млрд в 2017 году, что на 19,4% больше, чем годом ранее.
Геймеры могут наслаждаться потрясающими мобильными играми из-за все более широких возможностей современных мобильных графических процессоров. Однако у всего есть минусы, и в данном случае — большое энергопотребление. Энергопотребление мобильных графических процессоров растет с увеличением количества графических вычислений. В результате, высококачественные мобильные игры с развитой графикой требовательны и разряжают батарею очень быстро.
Чтобы решить указанную выше проблему, исследователи из Microsoft Research Asia (MSRA) и Korea Advanced Institute of Science & Technology (KAIST) разработали новую систему под названием RAVEN, которая позволяет снизить энергопотребление мобильных игр без ущерба для пользователя.
RAVEN основан на FPS в мобильных играх: многие кадры, непрерывно отображаемые в игре, либо воспринимаются одинаково, либо очень похожи. Различия в этих кадрах слишком малы, чтобы быть заметными для игроков. Тем не менее, мобильные игры всегда рендерят кадры с частотой 60 FPS, независимо от того, насколько они похожи. Основываясь на исследовании измерений, проведенном учеными, эти избыточные кадры могут составлять более 50% от общего числа кадров во многих играх. Очевидно, что устранение рендеринга этих избыточных кадров может значительно снизить энергопотребление.
RAVEN — это новая система, которая опирается на визуальное восприятие человека для масштабирования скорости рендеринга кадров. Чтобы достичь этого, RAVEN использует технологию perception-aware scaling (PAS). Эта методика снижает скорость рендеринга кадров в играх, когда последующие кадры прогнозируются как похожие на предыдущие. При этом, сходство должно находиться на том уровне, чтобы пользователь не заметил «проседания».
RAVEN использует побочный канал для отслеживания отображаемых последовательностей кадров, чтобы адаптировать восприятие пользователем изменений графики во время игры. Таким образом, RAVEN приспосабливаясь снижает потребление энергии GPU.
![](https://habrastorage.org/webt/ka/r-/pm/kar-pmoa6dbuirilwxsp-s1jbni.png)
Система RAVEN состоит из трех основных компонентов, которые в совокупности масштабируют скорость рендеринга игровых кадров: Track Difference Tracker (F-Tracker), Rate Regulator (R-Регулятор) и Rate Injector (R-Injector). Все эти компоненты работают в виде конвейера, по порядку. Сначала, F-Tracker измеряет графическое сходство между двумя кадрами. Затем R-Regulator предсказывает уровень сходства между текущим и следующим кадром (кадрами). Предсказание выполняется на основе того, насколько похожи текущий кадр и предыдущий кадр (кадры). Если последующие кадры (предсказанные) достаточно похожи на текущий, R-Injector ограничивает скорость рендеринга кадров, введя некоторую задержку в цикле рендеринга и пропуская графическую обработку для ненужного кадра (кадров). В настоящее время RAVEN может пропустить максимум до трех кадров и, таким образом, снизить частоту кадров до 15 FPS.
Основная проблема RAVEN заключается в том, что непонятно, как определить сходство кадров при низких затратах вычислительной мощности. Непосредственным методом сравнения подобия является уровень структурного сходства кадров (SSIM). Определение SSIM является сложным вычислением и поэтому использует большую мощность, особенно для широких кадров. Сегодняшние мобильные устройства, в том числе смартфоны, обычно имеют высокое разрешение экрана, 1920 ? 1080 пикселей или выше, что делает вычисление каждого SSIM-уровня при помощи RAVEN бессмысленным занятием.
Во-первых, они разработали энергосберегающий метод измерения графического подобия, основанный на восприимчивости человеческого глаза к разнице в цветах. Этот метод использует разницу в яркости (то есть компонент Y в цветовом пространстве YUV) между кадрами. Исследователи позитивно оценили этот метод, сравнив его с SSIM в различных условиях, а также результаты показали, что он эффективно измеряет графическое сходство при низких затратах вычислительной мощности.
Во-вторых, исследователи построили виртуальный дисплей, клонированный с основного дисплея мобильного устройства, но с гораздо более низким разрешением (например, 80 ? 45). Система считывает графическое содержимое виртуального дисплея для измерения уровня сходства. Поскольку разрешение виртуального дисплея значительно меньше, вычислительные требования также намного ниже.
Таким образом, два вышеописанных метода эффективно уменьшают энергопотребление RAVEN.
В качестве следующего шага исследователи внедрили систему RAVEN в смартфон Nexus 5x. В исследовании с участием 11 пользователей коллеги провели всесторонние эксперименты с использованием различных игровых приложений для оценки эффективности RAVEN. В среднем, энергопотребление за одну игровую сессию уменьшилось на 21,8%, а в пике на 34,7%. При этом качество и ощущения от игры сохранились на тех же уровнях, что и до использования RAVEN.
Демонстрация на MobiCom 2017:
![](https://habrastorage.org/webt/qf/lv/lh/qflvlhc0xt7ww_0ubwahgbsrada.jpeg)
RAVEN — первая система для мобильных игр, предназначенная для масштабирования частоты кадров и экономии энергии, а также основанная на графическом сходстве кадров. На MobiCom 2017 была опубликована и показана документация, описывающая систему RAVEN «RAVEN: оптимизация потребления энергии для мобильных игр». Авторами технологии являются Chanyou Hwang, Saumay Pushp, Changyoung Koh, Jungpil Yoon, Seungpyo Choi и Junehwa Song из KAIST и Yunxin Liu от MSRA.
По случаю праздника мы подготовили статью о том, что любит большинство парней — об играх. Точнее, о нашей новой разработке под кодовым названием RAVEN, которая поможет сохранить заветные проценты, которые так быстро исчезают при игре на телефоне. Она рендерит только те игровые кадры, которые заметно отличаются от рядом стоящих. Заглядывайте под кат!
![](https://habrastorage.org/webt/dq/bm/qa/dqbmqago1gvlic8oepdbsv84uuc.jpeg)
За последние десять лет мобильные игры стали огромной отраслью всей игровой индустрии. По данным Newzoo, глобальный рынок мобильных игр достиг $46,1 млрд в 2017 году, что на 19,4% больше, чем годом ранее.
Геймеры могут наслаждаться потрясающими мобильными играми из-за все более широких возможностей современных мобильных графических процессоров. Однако у всего есть минусы, и в данном случае — большое энергопотребление. Энергопотребление мобильных графических процессоров растет с увеличением количества графических вычислений. В результате, высококачественные мобильные игры с развитой графикой требовательны и разряжают батарею очень быстро.
Чтобы решить указанную выше проблему, исследователи из Microsoft Research Asia (MSRA) и Korea Advanced Institute of Science & Technology (KAIST) разработали новую систему под названием RAVEN, которая позволяет снизить энергопотребление мобильных игр без ущерба для пользователя.
RAVEN основан на FPS в мобильных играх: многие кадры, непрерывно отображаемые в игре, либо воспринимаются одинаково, либо очень похожи. Различия в этих кадрах слишком малы, чтобы быть заметными для игроков. Тем не менее, мобильные игры всегда рендерят кадры с частотой 60 FPS, независимо от того, насколько они похожи. Основываясь на исследовании измерений, проведенном учеными, эти избыточные кадры могут составлять более 50% от общего числа кадров во многих играх. Очевидно, что устранение рендеринга этих избыточных кадров может значительно снизить энергопотребление.
RAVEN — это новая система, которая опирается на визуальное восприятие человека для масштабирования скорости рендеринга кадров. Чтобы достичь этого, RAVEN использует технологию perception-aware scaling (PAS). Эта методика снижает скорость рендеринга кадров в играх, когда последующие кадры прогнозируются как похожие на предыдущие. При этом, сходство должно находиться на том уровне, чтобы пользователь не заметил «проседания».
RAVEN использует побочный канал для отслеживания отображаемых последовательностей кадров, чтобы адаптировать восприятие пользователем изменений графики во время игры. Таким образом, RAVEN приспосабливаясь снижает потребление энергии GPU.
![](https://habrastorage.org/webt/ka/r-/pm/kar-pmoa6dbuirilwxsp-s1jbni.png)
Система RAVEN состоит из трех основных компонентов, которые в совокупности масштабируют скорость рендеринга игровых кадров: Track Difference Tracker (F-Tracker), Rate Regulator (R-Регулятор) и Rate Injector (R-Injector). Все эти компоненты работают в виде конвейера, по порядку. Сначала, F-Tracker измеряет графическое сходство между двумя кадрами. Затем R-Regulator предсказывает уровень сходства между текущим и следующим кадром (кадрами). Предсказание выполняется на основе того, насколько похожи текущий кадр и предыдущий кадр (кадры). Если последующие кадры (предсказанные) достаточно похожи на текущий, R-Injector ограничивает скорость рендеринга кадров, введя некоторую задержку в цикле рендеринга и пропуская графическую обработку для ненужного кадра (кадров). В настоящее время RAVEN может пропустить максимум до трех кадров и, таким образом, снизить частоту кадров до 15 FPS.
Основная проблема RAVEN заключается в том, что непонятно, как определить сходство кадров при низких затратах вычислительной мощности. Непосредственным методом сравнения подобия является уровень структурного сходства кадров (SSIM). Определение SSIM является сложным вычислением и поэтому использует большую мощность, особенно для широких кадров. Сегодняшние мобильные устройства, в том числе смартфоны, обычно имеют высокое разрешение экрана, 1920 ? 1080 пикселей или выше, что делает вычисление каждого SSIM-уровня при помощи RAVEN бессмысленным занятием.
Для решения этой проблемы наши коллеги использовали два инновационных метода
Во-первых, они разработали энергосберегающий метод измерения графического подобия, основанный на восприимчивости человеческого глаза к разнице в цветах. Этот метод использует разницу в яркости (то есть компонент Y в цветовом пространстве YUV) между кадрами. Исследователи позитивно оценили этот метод, сравнив его с SSIM в различных условиях, а также результаты показали, что он эффективно измеряет графическое сходство при низких затратах вычислительной мощности.
Во-вторых, исследователи построили виртуальный дисплей, клонированный с основного дисплея мобильного устройства, но с гораздо более низким разрешением (например, 80 ? 45). Система считывает графическое содержимое виртуального дисплея для измерения уровня сходства. Поскольку разрешение виртуального дисплея значительно меньше, вычислительные требования также намного ниже.
Таким образом, два вышеописанных метода эффективно уменьшают энергопотребление RAVEN.
В качестве следующего шага исследователи внедрили систему RAVEN в смартфон Nexus 5x. В исследовании с участием 11 пользователей коллеги провели всесторонние эксперименты с использованием различных игровых приложений для оценки эффективности RAVEN. В среднем, энергопотребление за одну игровую сессию уменьшилось на 21,8%, а в пике на 34,7%. При этом качество и ощущения от игры сохранились на тех же уровнях, что и до использования RAVEN.
Демонстрация на MobiCom 2017:
![](https://habrastorage.org/webt/qf/lv/lh/qflvlhc0xt7ww_0ubwahgbsrada.jpeg)
RAVEN — первая система для мобильных игр, предназначенная для масштабирования частоты кадров и экономии энергии, а также основанная на графическом сходстве кадров. На MobiCom 2017 была опубликована и показана документация, описывающая систему RAVEN «RAVEN: оптимизация потребления энергии для мобильных игр». Авторами технологии являются Chanyou Hwang, Saumay Pushp, Changyoung Koh, Jungpil Yoon, Seungpyo Choi и Junehwa Song из KAIST и Yunxin Liu от MSRA.
Комментарии (8)
barbanel
23.02.2018 19:09Оптимизировать энергопотребление выбрасывая кадры игры… хм…
Следующий уровень оптимизации — выбрасывать игры =)Javian
26.02.2018 09:24самый действенный способ оптимизации энергопотребления — удаление google сервисов. Заодно часть софта перестанет работать — одни плюсы энергопотребления.
uploadfor
В блоге компании Microsoft видеть статьи с тегом «Разработка под Android» — интересно, кто-нибудь из аналитиков смог уже объяснить, что же это всё-таки такое — гибкость или прогиб?
sahsAGU Автор
У нас не одна публикация с этим тегом.
Например вот или вот.
uploadfor
Спасибо, уже несколько лет активно пользуюсь продуктами компании Microsoft на платформах Android и iOS, поэтому не в тегах дело, конечно же. Мой вопрос был совсем о другом, и скорее риторическим: зачем компания Microsoft пошла на чужую территорию (ведь ещё совсем недавно даже на презентациях никто принципиально не упоминал их всуе, а теперь едва ли не делают на них главный акцент) — смирилась с потерей собственной или же с целью захвата новой?
Amistad
Древняя китайская поговорка: не можешь победить врага — присоединись к нему и развали изнутри. Помните Скайп?
Фотография в статье говорит что я прав :)