Если в середине 1990-х компьютерные игры с завышенными системными требованиями могли провалиться в продажах, то уже в начале 2000-х именно игры повышенной требовательности сделались основным локомотивом продаж нового компьютерного “железа”. Исходя из той здравой, казалось бы, мысли, что далеко не все готовы покупать топ-модели, производители начали “диверсификацию” своей продукции, и вот сейчас на рынке – огромное количество похожих по заявленным характеристикам процессоров (обычных и графических), и надо иметь усердие зоолога или ботаника, чтобы разбираться, чем они отличаются друг от друга при практическом использовании. Производители игр тоже, мягко говоря, не в восторге от такой фрагментированности платформы PC: слишком много ресурсов уходит на то, чтобы обеспечивать совместимость со всеми разновидностями процессоров и графических карт. В результате и для разработчиков игр, и для геймеров, которые не могут себе позволить топовые игровые платформы, очень соблазнительной выглядит идея вывести все вычисления, связанные с графикой (и даже, возможно, с игровой логикой), за пределы пользовательской платформы. Например, на “облако”.

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

На пользовательское устройство передаётся уже только видеосигнал, а для его отображения гипермощного видеопроцессора не требуется. Для разработчиков и издателей плюсы тоже очевидны: поскольку на стороне пользователя будет только “тонкий клиент”, а сам игровой контент останется на сервере, проблема пиратства либо снимается вовсе, либо её острота значительно снижается. Но слишком много появляется и проблем. Главная из них – это толщина канала связи и количество других факторов, влияющих на скорость соединения между пользовательским устройством и “облаком”.

Тем не менее попытки реализовать что-то подобное предпринимались раньше и, вероятно, будут предприниматься и впредь.

Новая веха?

Год назад в беседе с корреспондентом “Компьютерры” директор по продажам подразделения AMD Component Channel в регионе EMEA Бертран Кокар заметил, что лично для него следующая веха в ИТ-мире наступит, “когда весь рендеринг будет осуществляться на сервере, а не на вашем компьютере”:

– Всё упирается в алгоритмы сжатия информации. Не в 2012 году, но в последующие годы что-то подобное произойдёт непременно. Сегодня всё больше люди играют через интернет, а не индивидуально на своих десктопах.

Как ни странно, наступления этой “новой вехи” ждут уже более десятилетия: ещё в 2000 году компания G-Cluster представила на Е3 свою технологию, где весь рендеринг и расчёты проводились на сервере, после чего графика перебрасывалась на ручные консоли через беспроводные соединения. В конце февраля 2013 года G-Cluster и Konami объявили о заключении партнёрского соглашения, в рамках которого в игры Konami можно будет играть на любом телевизоре, подключённом к широкополосному каналу связи.

“G-Cluster превращает телевизор в эквивалент игровой консоли, при этом необходимость в приобретении дорогостоящего оборудования отсутствует”, – указывается в пресс-релизе обеих компаний. Там же говорится, что первые “облачные” игры будут объявлены уже этой весной. Ждём-с.

В свою очередь, Crytek ещё в 2005 году начала изыскания в области “облачного гейминга” для игры Crysis, но в 2007 году приостановила разработки, сославшись на то, что существующая сетевая инфраструктура, мягко говоря, не совсем готова.

В 2010 и 2011 годах были запущены сразу несколько сервисов, предоставлявших (и предоставляющих) услуги облачного гейминга. Это, во-первых, Onlive, во-вторых, Jeuxvideo a la demande, базирующийся на технологии вышеупомянутых G-Cluster, в-третьих, Gaikai, в четвёртых, китайский сервис Cloud Union, который к июлю 2012 года набрал 300 тысяч пользователей. Впрочем, для Китая это капля в море.

В том же июле 2012 года Sony выкупила за 380 млн долларов сервис-провайдер Gaikai, к тому моменту уже крупнейший в мире. К моменту покупки сервис предлагал более 200 игровых наименований, а аудитория составляла порядка 50 млн человек.

Ну а в августе 2012 года стало известно, что OnLive уволил большую часть персонала, а в октябре был продан некоей венчурной фирме за вшивые, простите, 4,8 млн долларов, притом что даже тогда ещё капитализация сервиса оценивалась в несколько сотен миллионов долларов. В общем, печальная и вряд ли красивая история.

По техническим причинам

В 2012 году на выставке GPU Technology conference NVidia представила свою концепцию “виртуализации GPU”, а также технологию, которая позволяет использовать графические процессоры в качестве основы для крупных дата-центров (“облаков”, собственно).

“Облачные GPU-технологии основываются на новой архитектуре Nvidia Kepler GPU Architecture, предназначенной для использования в крупномасштабных дата-центрах. Её виртуализационные возможности позволяют одновременно использовать одни и те же GPU сразу несколькими пользователями. Её сверхскоростная передача потоковых данных устраняет все задержки, так что складывается впечатление, будто удалённый дата-центр находится за соседней дверью. А её высочайшая энергоэффективность и плотность обработки данных снижают стоимость владения таким дата-центром”, – говорится в пресс-релизе.

Реализация архитектуры Kepler сразу же пошла в двух направлениях – платформа VGX для виртуализации десктопов для корпоративного сектора и GeForce GRID для облачного гейминга.

Чжэн-Сунь Хуан рядом с рэком с серверами Grid. Этот рэк позволит обслуживать одновременно до 480 человек (фото: Ars Technica)
Чжэн-Сунь Хуан рядом с рэком с серверами Grid. Этот рэк позволит обслуживать одновременно до 480 человек (фото: Ars Technica)

Если говорить о технике, то основу системы Grid составляет, собственно, игровой сервер размером 2U, в котором располагаются 12 GPU Nvidia. Каждый из этих GPU способен обслуживать одновременно двух пользователей (таким образом, каждый сервер обслуживает до 24 человек одновременно). Если нужно больше пользователей, потребуется больше серверов. Серверный рэк с 20 серверами способен, соответственно, обслуживать 480 пользователей, потребляя при этом 800-900 Вт энергии в нагруженном состоянии.

Главной проблемой для всех подобных затей, однако, остаётся задержка в интерактивности. Особенно это касается шутеров, где доли секунды решают всё. Одна из причин провала OnLive заключается как раз в том, что они толком не смогли победить эту задержку. Да и невозможно её победить в настоящее время. Сказываются географическое расстояние от пользовательского устройства до физического размещения дата-центра, в котором располагается игровое “облако”, количество сетей разных провайдеров, по которым идёт сигнал, состояние этих сетей и задержки в них. В общем, неизвестных очень много.

NVidia, конечно, делает всё, что может: в частности, собственные технологии кодирования видео позволяют “экономить” до 30 мс на стороне сервера (плюс ещё 10 мс на стороне пользователя, если у него самого установлены собственные графические процессоры NVidia). Но опять же, NVidia не в состоянии привести к нужному уровню качества сети провайдеров – по объективным причинам.

В целом предполагается, что “игровой” поток будет поставляться на любые устройства с разрешением от 720 p до 1080 p (HD или FullHD). Даже на смартфоны, если они такое разрешение поддерживают. Главное условие – наличие канала со скоростью передачи 6 Мбит/с.

Но при этом ни о какой суперграфике, которой можно было бы ожидать от “облачного” сервиса, речи не идёт: качество графики в играх не превосходит то, которое сегодня могут обеспечить игровые компьютеры среднего уровня. Как подсчитали в Ars Technica, на каждый рэк приходятся по 200 терафлопсов; это 240 GPU, по два пользователя на каждого. В результате на каждого конкретного пользователя приходятся по 417 гигафлопсов. Это примерно вдвое больше, чем даёт XBox 360, однако эта консоль уже давно не может считаться “референсом” производительности. 417 гигафлопсов примерно соответствуют мощности игровой карты GeForce GT 640, также далеко не топовой на сегодняшний день модели.

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

Это касается, в принципе, далеко не только предложений NVidia. Достаточно посмотреть, какие именно игры сегодня предлагаются поставщиками “облачно-игровых услуг”: Gaikai предлагает Dead Space 2, Mass Effect 2, Sims 3 (Gaikai, PC).

Как “облачный” позиционируется сервис Core Online игрового издателя Square Enix. Он позволяет играть через браузер в Hitman: Blood Money, Lara Croft and the Guardian of Light, Mini Ninjas, Tomb Raider: Underworld. Однако, как выясняется, рендеринга на стороне сервера не осуществляется: просто, как и в случае, например, с QuakeLive, на компьютер закачивается часть игрового клиента.

Потоки игр, или Почему графическая революция с облаков не спустится
Hitman: Blood Money – через браузер и на весь экран

Суперграфика?

А её не будет. Во всяком случае, до тех самых пор, пока на бытовой уровень не придёт производительность кластеров сегодняшних самых передовых графических ускорителей. То есть в ближайшие несколько лет ждать чего-то выдающегося не стоит, если только не случится какого-то радикального прорыва в области производительности. Потому что сейчас для того, чтобы получить такую “суперграфику”, потребуется, чтобы один рэк с 20 серверами GRID обслуживал не 480 пользователей одновременно, а одного. Что совершенно нецелесообразно в экономическом плане.

Так что пока облачный или потоковый гейминг – это не более чем трансляция игр двух-, трёх-, четырёхлетней давности на любые устройства; со множеством ограничений и, как уже сказано, массой потенциальных проблем, связанных с качеством каналов. И никаких особых чудес.

Лет через десять, видимо, мы будем со смехом вспоминать, как сегодняшние провайдеры пытались впечатлить друг друга и потенциальных клиентов размерами своих мегабит-в-секунду, а производители графических карт и CPU – гигагерцами и количеством ядер. Но как к тому времени сложится судьба потокового гейминга? В настоящий момент не видно никаких особых предпосылок к тому, чтобы он грозил кому-то какой-либо революцией, особенно ввиду того, что в самом скором времени ожидается появление следующего поколения игровых консолей.

Кстати, в конце февраля Gaikai пообещал, что для Sony Playstation 4 будет представлен потоковый сервис с играми для Playstation, Playstation 2 и Playstation 3. Этот сервис позволит решить любые проблемы с обратной совместимостью: аппаратная будущей PS4 часть в игровом процессе будет задействована лишь постольку-поскольку. Собственно, это вот один из самых практичных, так сказать, способов применения “облачного гейминга” на сегодняшний день…