Выбирай : Покупай : Используй
обзоры
0

Windows Vista, DirectX 10, Games for Windows. Будущее приближается

Что получат игроки от новых технологий?
Страница 1: Концепция, Новый API DirectX 10
Страница 2: Games for Windows, Windows Vista: реалии

Этой зимой состоялся релиз новой операционной системы Windows Vista от Microsoft, предложившей игрокам и разработчикам много дополнительных возможностей. Постепенно новые термины входят в привычный словарь геймера, но далеко не все понимают, что на самом деле означают произошедшие перемены. Диапазон мнений очень широк — от полного одобрения до категорического неприятия. В этой статье мы рассмотрим Windows Vista исключительно с точки зрения ее приспособленности для игр. Мы не собираемся навязывать свое собственное мнение, а просто предоставим необходимые факты, чтобы вы могли сами решить, что же это такое, Windows Vista? Очередной «развод» на деньги или долгожданная революция в сфере PC-гейминга? Кардинально новая система или старые наработки в новой обертке? Впрочем, обо всем по порядку.

1. Концепция

Наш рассказ придется начать издалека. Вы все не раз слышали, что PC не слишком хорошо подходит для работы в современных ресурсоемких 3D-играх. Почему так происходит? Для ПК производятся тысячи наименований различных комплектующих, но компании не могут писать тысячи версий своих программ, которые оптимально работали бы с любой существующей конфигурацией компьютера.

Приставки во многом лишены этих недостатков. Так как их конфигурация остается неизменной, то появляется возможность максимально эффективно оптимизировать код программы. Роль оптимизации очень важна — вспомните, какие бури бушевали несколько лет назад, когда выяснилось, что nVidia «затачивает» свои драйвера под известный всем тест производительности 3DMark. Прирост составлял десятки процентов, потому что драйвер подменял общие для всех устройств инструкции теста своими собственными, написанными специально для видеокарт nVidia. В тестах такой подход, конечно, является жульничеством, но в играх он приветствуется в полной мере. Даже небольшое изменение в драйвере дает неслабый прирост, а теперь представьте, какие возможности по оптимизации открываются на консолях — где над ней трудятся с самого начала написания кода, где нет драйверов, а ОС специально адаптирована под работу с играми.

Но приставки имеют выигрыш перед PC не только с технологической точки зрения, они сильны также тем, что компании-производители следуют единой и централизованной политике. На ПК игры делаются по принципу «что хочу — то и создаю», консольные гиганты поступают совсем иначе. Для привлечения внимания к своей платформе они вкладывают огромные деньги в эксклюзивы, проводят строгий контроль качества каждого выпущенного проекта. Баги и недоделки недопустимы даже сейчас, когда у приставок появилась возможность править ошибки хорошо знакомыми нам «патчами» и «апдейтами». Может, вам уже начало казаться, что PC ничего не может противопоставить нашествию консолей? К счастью, это не так. Нужно решить всего две проблемы: добиться, чтобы игры на ПК шли гораздо быстрее, а также повысить их качество.

Задача сложная, но если подойти к ее решению серьезно и систематически, вполне выполнимая. Полумеры здесь не годятся, и потому Microsoft решилась пойти на глобальную революцию в самой идеологии PC. Фактически, она собралась взять у приставок весь положительный опыт и перенести его на эту открытую, независимую и никем не контролируемую платформу. Низкая эффективность графического конвейера? Значит, нужно ее увеличить при помощи главного козыря ПК — технологического преимущества перед приставками, возможности оперативно внедрять новейшие технологии. Разработчикам сложно оптимизировать игры? Значит, нужно установить жесткие стандарты, и лишить производителей железа возможности заниматься самодеятельностью. Нет единой политики в производстве проектов, и некому контролировать их качество? Значит, создадим специальную систему сертификации под названием Games for Windows и сделаем ее популярной у пользователей — тогда студиям волей-неволей придется придерживаться заложенных в нее требований.

Резюме. Главная концепция Windows Vista — это максимальное повышение эффективности ПК как игровой платформы. Что касается общей политики Microsoft, то здесь основной задачей является максимально возможное упорядочивание хаоса на рынке ПК-технологий, при помощи различных стандартов, принимаемых Microsoft. Как это сделано и к чему приведет — читайте далее.

2. Новый API DirectX 10

Наглядное сравнение DirectX 9 и DirectX 10
Наглядно понять различия между DirectX 9 и 10 можно наведя курсором на эту картинку. По крайней мере, такое сравнение дает сама Microsoft.

Многие из вас слышали об «API DirectX 10», но немногие понимают, что это такое. На самом деле, употреблять понятие «DirectX 10» применительно к графике вообще и компьютерным играм в частности не совсем корректно. Более грамотно говорить о новом графическом конвейере — куда включаются Direct3D (одна из частей DirectX 10, отвечающая за аппаратное ускорение трехмерной графики) и новые видеодрайверы. Помните о том, что программисты не имеют возможности писать тысячи разных программ под каждый системный блок? Именно для этого существует API (интерфейс программирования приложений), представляющий стандартизированный набор функций, и драйверы устройств. Условно говоря, программа сначала формирует задачу на языке API. В свою очередь API, приняв задачу, переводит ее на «машинный язык» и передает в драйвер. Драйвер переводит задачу на язык, понятный конкретной видеокарте. В результате работы этого конвейера «программа — API — драйвер — видеокарта» происходит большая потеря производительности. Совсем исключить такую потерю нельзя, но зато можно существенно ее снизить.

Главными недостатками прошлого API Direct3D 9 были высокие задержки системных вызовов и крайне неоптимальная работа с объектами. Все объекты, будь то здание или консервная банка, прежде чем попасть на обработку в видеокарту пропускаются через Direct3D 9 и драйвер, по ходу обрастая различными данными. Вся нагрузка по обработке этих дополнительных данных ложится на процессор, отнимая десятки процентов его производительности. Результат можно наглядно увидеть в современных играх: ничего постороннего, вроде мусора, никаких детализированных пространств, минимальный уровень интерактивности.

В Direct3D 10 успешно решили эти и многие другие задачи. Во-первых, существенно снизилось время системных вызовов API, и убыстрилась работа с большим количеством объектов. Этого добились не только за счет различных новшеств, но и путем избавления от «пережитков» прошлых лет — убрав из графического конвейера устаревшие функции, оставшиеся от прошлых версий. Минус такого подхода очевиден — игры в режиме DirectX 10 смогут идти только на Vista и только с новыми DX10-видеокартами.

Во-вторых, часть задач, которые сейчас выполняет процессор, но от которых избавиться нельзя, возложили на видеокарту. Теперь она, в частности, сможет самостоятельно выполнять менеджмент ресурсов — создание, распределение и подкачку необходимых данных, и многое другое. Также силами видеосистемы будет производиться валидация (проверка на пригодность) поступающих команд, что сильно повысит стабильность и предотвратит вылеты в «синий экран». Решение о большей независимости видео от центрального процессора очень логичное и полезное: видеокарты по скорости прогрессируют гораздо быстрее процессоров, поэтому всю возможную работу лучше выполнять на них.

Если рассказывать обо всех особенностях Direct3D 10, это займет отдельную большую статью, поэтому ограничусь упоминанием о новых шейдерах версии 4.0. Шейдеры — это небольшие программы, с помощью которых производится обработка изображения на разных стадиях построения кадра. Благодаря аппаратному ускорению видеокарты, они могут исполняться очень быстро. Главным новшеством 4.0 можно считать появление геометрических шейдеров, которые способны осуществлять операции с геометрией трехмерной сцены — то есть делать то, что ранее было доступно только процессору. В остальном версия 4.0 просто расширяют возможности 3.0 до поистине невообразимых пределов. Надо сказать, что на сегодняшний день это не слишком актуально, ведь пока даже возможности шейдеров 3.0 задействованы в играх в минимальном объеме.

Страница 1: Концепция, Новый API DirectX 10
Страница 2: Games for Windows, Windows Vista: реалии

Повышение эффективности ПК не ограничивается исключительно техническими нововведениями, в Direct3D 10 произошли и «политические» изменения. Были запрещены так называемые капсы (caps, система capabilities) — механизмы опроса видеокарты о ее возможностях. Ранее компании ATI и NVIDIA в своих продуктах допускали существенные различия функциональности: начиная с разных типов шейдеров и разных стандартов точности расчета данных и заканчивая особенностями реализации HDR. Это доставляло существенные проблемы создателям игр, которым приходилось оптимизировать программы по несколько раз — не только под конкретного производителя, но даже под отдельные линейки видеокарт. В Direct3D 10 была введена единая и очень жесткая спецификация возможностей видеоускорителя, никакие отклонения от нее не допускаются. Несмотря на то, что архитектуры видеокарт будут по-прежнему различаться, проблем с оптимизацией у разработчиков станет существенно меньше.

Резюме. Главной целью нового графического конвейера Windows Vista является повышение скорости обработки трехмерных сцен, особенно в случае большого количества объектов. Теперь повышение сложности сцены будет в значительно меньшей степени поднимать требования к процессору. Кроме того, с процессора сняты обязанности по выполнению многих обслуживающих задач. Все это в совокупности освободит десятки процентов производительности ЦПУ, которые можно будет направить на обработку искусственного интеллекта, физики и прочего.

3. Games for Windows

Games for Windows
Игры для Windows.

Хотя PC является открытой платформой, без стандартов он существовать неспособен. Правда, никто не может обязать производителей поддерживать тот или иной стандарт, и при желании реально придумать свой собственный. Например, Intel поступала так неоднократно, пытаясь навязать индустрии разъемы для периферии собственного дизайна или малораспространенную память от Rambus. Подобные шаги, как правило, проваливались, ведь шагать в ногу с остальными куда легче, чем тянуть всех за собой на веревке. Однако если все оборудование ПК, так или иначе, стандартизировано, то до игр ни у кого руки так и не дошли. Разработчики не связаны никакими рамками, их поведение определяет только спрос на продукцию со стороны игроков. И вот, Microsoft решила, что пора навести здесь хотя бы немного порядка. Games for Windows представляет собой абсолютно добровольную систему сертификации компьютерных игр. Требования, которые будут предъявляться к претендентам, разделены на четыре категории:

1. Качество. Игры с брендом Games for Windows должны быть тщательно протестированы, причем не только студией-создателем, но и самой Microsoft. Не допускается наличие багов, проект должна быть стабилен сам, и не представлять угрозы для стабильности операционной системы. Данное требование существенно ударит по карману производителей. В последнее время стало модно выпускать недоделанные игры, используя геймеров в качестве бета-тестеров: это сильно понижает расходы на весьма дорогостоящее тестирование, плюс уменьшает потери от пиратства (так как во многих случаях патчи на пиратские версии поставить невозможно, а желающих играть в забагованные проекты не так много). Откажутся ли издатели от заведенной схемы? Покажет будущее.

2. Совместимость. Игра должна одинаково хорошо работать на ОС Windows XP и Windows Vista, включая 32- и 64-битные версии. Кроме того, если в проекте предусмотрено управление с помощью геймпада, должны в полной мере поддерживаться геймпад от Xbox 360 и беспроводной ресивер Xbox 360 для Windows. Есть и другие аспекты проблемы — например, поддержка широкоэкранных мониторов. Очевидное стремление Microsoft подружить PC и Xbox 360 должно принести им обоим лишь преимущества. Ведь совместимость не заканчивается лишь поддержкой контроллеров, гораздо более актуальным представляется скорое открытие сервиса Games for Windows Live. С 8 мая «компьютерщики» и «консольщики» смогут играть друг с другом на равных. Общая функциональность GFW Live и Xbox Live примерно одинакова, поэтому владельцев ПК ждут и другие приятные возможности.

3. Безопасность. Сюда Microsoft относит поддержку двух новых систем безопасности, предусмотренных в Windows Vista — «родительского контроля» и «семейных установок». Фактически, это попытка ввести некий моральный ограничитель. Неизвестно, как это будет работать на практике — возможно, станет лишь поводом, чтобы избавиться от нападок противников компьютерных игр, вроде Джека Томпсона. Также неясно, насколько сложным станет для разработчиков адаптация своих продуктов под это требование.

4. Легкость в обращении. Проекты в рамках системы Games for Windows обязаны легко устанавливаться и удаляться. Вероятно, здесь предусмотрена и защита от некорректного удаления самим пользователем. Инсталлятор должен регистрировать программу в Windows Vista Games Explorer — разделе, специально адаптированном для менеджмента игр (помощи в поиске, запуске и удалении). Очень полезное нововведение, давно пора признать, что игры — это особая категория, к которой нужен специальный подход. Обычные программы устанавливают по необходимости, места они занимают немного и, как правило, работают в течение долгого времени без изменений. А игры — занимают массу места, постоянно устанавливаются, удаляются, обновляются, причем часто все эти действия производится руками ребенка, мало понимающего в компьютерах. Уже более десяти лет под игры выделяют отдельную папку, а теперь дошла очередь и до собственного менеджера.

Вот и все, что можно сказать о программе Games for Windows. Пока понятно одно — она должна принести пользу рядовому геймеру и много неприятностей издателям. И чем старее игра (имеется в виду не год выхода, а технологический уровень), тем сложнее ей будет соответствовать предъявленным требованиям. Уже сейчас раздаются возмущенные возгласы противников системы. Например, главный маркетолог Valve, Даг Ломбарди, заявил, что Games for Windows — лишь пиар-акция ОС Vista, и предсказал ей самое мрачное будущее.

Резюме. В начале главы мы говорили, что идти со всеми в ногу куда легче, чем тащить их за собой на веревке. Но иногда нужны и такие «локомотивы», как Microsoft, двигающие индустрию вперед. Что получится в итоге — удача или забвение — неизвестно. Впрочем, основания для оптимизма имеются. Несмотря на добровольность программы Games for Windows, веревка, с помощью которой Microsoft «тащит» за собой производителей, больше похожа на удавку — рычаги давления на разработчиков у корпорации имеются. Миллионы долларов, вкладываемые в Games for Windows, автоматически становятся антирекламой для проектов, которые не прошли сертификацию. Если при помощи рекламы игра без ярлычка GFW на коробке в глазах пользователя станет неполноценной, то это может существенно снизить доход издателя. Есть повод задуматься.

4. Windows Vista: реалии

Закончив с теорией, перейдем к практике. Что реально дает Windows Vista геймеру сегодня? К сожалению, очень мало. Из существенных моментов можно отметить лишь улучшенный менеджер памяти, обеспечивающий реальное преимущество в современных играх. Требуя для нормальной работы гораздо больший объем оперативной памяти (2 Гб — лишь рекомендуемый объем, а лучше больше), менеджер памяти Windows Vista позволяет проектам идти более гладко, уменьшая количество свопов. В Windows XP даже 4 Гб не всегда дают желаемый результат — сказываются особенности неоптимального менеджмента ресурсов. Хотя, надо заметить, даже это новшество проявляется не всегда и не во всех программах.

Вообще, делать выводы о том, подходит Windows Vista для игр или нет спустя три месяца после релиза — не совсем корректно. Сейчас она серьезно страдает от различных «детских болезней», обычных для таких масштабных проектов. Ради справедливости скажу, во многих проблемах виновата не сама Microsoft, а производители видеокарт. Отсутствие качественных видеодрайверов — главная проблема Vista на сегодняшний день.

Революционные возможности DirectX 10 так и останутся возможностями до тех пор, пока разработчики не воплотят их в своих продуктах. А произойдет это нескоро. Даже указание в описании «поддерживает DirectX 10» не означает, что игра реально задействует плюсы нового API хотя бы наполовину. Яркий пример — выходящая в мае Halo 2. Несмотря на заявленную поддержку DX 10, в ней, скорее всего, будет задействована функциональность древнего DX 8.1. Первые проекты, полностью приспособленные для работы в среде DX 10, появятся не ранее следующего года (Crysis будет преимущественно DX9-игрой). А массового внедрения новых технологий стоит ожидать лишь к самому концу нынешнего десятилетия. Главным сдерживающим фактором станут все те же приставки. Их графические чипы основаны на базе DX 9, а большинство крупнобюджетных проектов, запланированных на ближайшие годы, будут кроссплатформерными. Мало кто из разработчиков захочет при портировании игры переписывать ее на новый API.

Делаем вывод: Windows Vista — это революция в сфере гейминга. Но для любой революции требуется время, чтобы люди осознали ее значение. Современники вообще имеют обыкновение уделять происходящим вокруг них глобальным переменам минимум внимания. Windows Vista сказала свое слово, и теперь дело за разработчиками, а простому пользователю вовсе нет нужды спешить и обновлять свою старую ОС. Поводов для такого апгрейда всего два: выходящая в мае Halo 2 и назначенная на осень Crysis. Окончательное решение за вами!