Введение
Будут ли игры, использующие мощь двуядерных процессоров, так хороши?
Объявления двуядерных процессоров Intel и AMD могут знаменовать новую эру в компьютерах, но пока эти архитектуры не слишком сильно повлияли на качество игр. Как показало наше тестирование Pentium D 840, двуядерные процессоры в играх работают с такой же скоростью, что и одноядерные Pentium Extreme Edition с равной тактовой частотой. А Pentium Extreme Edition с более высокой тактовой частотой работает быстрее, чем двуядерный Pentium D.
В то же время, не будем забывать, что Windows XP уже использует преимущество двуядерных дизайнов AMD и Intel, распределяя программные потоки между ними. То есть, в дополнение к многочисленным фоновым программам, вы можете, в отличие от одноядерной платформы, запустить больше ресурсоёмких приложений, не особо опасаясь замедления ПК. К примеру, вы можете отстреливать монстров в Doom III, параллельно скачивая видеофайл, почту Outlook Express, сохраняя открытыми с десяток web-страниц и документов Word.
Вместе с тем, двуядерные процессоры, подобно 64-битным вычислениям, страдают из-за отсутствия приложений, которые бы в полной мере использовали их силу. Но, по утверждению AMD и Intel, производителей графических процессоров и игровых разработчиков, уже через несколько месяцев мы должны увидеть, как 3D-игры поднимутся на новый уровень по искусственному интеллекту и производительности.
“Разработчики, потратившие время и силы на переделку своих игр в многопоточные версии, рано или поздно получат удвоение производительности CPU, – сказал Ричард Хадди (Richard Huddy), менеджер, ISV Relations, ATi EMEA. – Преимущества будут различны: от приличного прироста производительности до совершенно иной физики и искусственного интеллекта”.
Конец физики “тряпичной куклы”
Могут ли враги в Hitman стать умнее?
Двуядерные процессоры в ближайшей перспективе должны устранить многие недостатки 3D-игр – по мере того, как игровые разработчики начнут использовать преимущества многопоточных возможностей, обеспечиваемых архитектурой CPU.
Некоторые преимущества будут очень заметны – к примеру, улучшения в физике игры. Скажем, водопады и озёра станут ещё ближе к реальности. Вместо чёрной дыры от выстрела вы увидите множество эффектов: стену с трещинами и разбитое стекло, а также отлетающие части тел монстров. Вы сможете изрешетить дверь пулями и увидеть, как отлетает каждая щепка.
Подобные улучшения игровой физики, конечно же, требуют существенных ресурсов центрального процессора, а также и high-end графической карты. Многоядерные процессоры смогут снять определённую нагрузку с графических чипов.
“У многоядерных процессоров есть возможность разделять на потоки по данным, а не по приложениям, – сказал Дейв Эверит (Dave Everitt) из AMD. – Вы разделяете данные на раздельные потоки, то есть запускаете на них один и тот же код. В итоге вы получаете преимущество”.
“Когда вы кого-то в игре пристрелите, то прирост мощности CPU в многопоточной среде позволит избежать эффекта “тряпичной куклы” (rag doll)”, – сказал Ник Триантос (Nick Triantos), ведущий программный инженер nVidia.
“Вы стреляете в противника, и когда он падает, то выглядит как настоящая тряпичная кукла, – сказал Триантос. – Необходимо многое добавить в игру, чтобы улучшить физическую модель”.
Что же мы должны ожидать? Как утверждают разработчики, в следующем году Unreal 2007 должна значительно измениться.
“Unreal 2007 станет в тысячи раз более детализованной: больше полигонов и частиц, больше шейдеров и, вообще, больше всего. Если раньше дверь состояла из 400 полигонов, то теперь в ней будет использоваться уже 40 000 полигонов, – сказал Марк Рейн (Mark Rein), вице-президент Epic Games и разработчик графического движка и игры Unreal. – В Unreal 2004 персонаж состоял из 3500 полигонов. Теперь, в следующем поколении движка Unreal, этот персонаж использует 7500 полигонов. Всё это стало возможным благодаря последним поколениям графических карт, но, конечно же, вам потребуется большая вычислительная мощность CPU”.
Хотите ли вы видеть спокойную воду с отражениями перед тем, как внесёте хаос, уничтожив мост через озеро? “Нет никаких причин не использовать дополнительную физику, если мы будем обладать большими ресурсами CPU”, – сказал Рейн.
В то же время стоит обращать внимание и на незначительные детали. “Суть многоядерности в том, что вы не можете выделить какую-либо одну характеристику, которая улучшится, – сказал Рейн из Epic Games. – Нам нужна мощность CPU, чтобы мы могли внести большое количество улучшений в игры, которые не сразу бросаются в глаза”.
Если взять искусственный интеллект, то персонажи станут умнее. Охранник в Hitman, к примеру, способен лишь сделать удивлённое лицо, после чего попытается убить вас. Персонажи в других играх бесцельно шляются по округе, не ощущая вашего присутствия или не обращая на вас большого внимания. Переход на два ядра и потоки позволит сделать врагов умнее.
“Лучший искусственный интеллект позволит большему числу противников продумывать совместные действия, находя лучшие пути для атаки на вас, они также будут более успешно защищать территорию от атак других игроков”, – сказал Ричард Хадди из ATi.
Двуядерные архитектуры позволяют создавать в игре больше действий. “Вместо 10 видов техники, возможно, мы будем использовать 40 или 50. Мы сможем добавить в игру огромные толпы врагов, действия которых будут осмысленны, – сказал Рейн из Epic Games. – Вот, что произойдёт, если взглянуть с перспективы искусственного интеллекта”.
Многоядерные графические процессоры
Новая задумка производителей по выпуску двойных графических карт, в дополнение к двуядерным процессорам Intel и AMD, породила слухи, что разработчики GPU тоже представят двуядерные дизайны своих процессоров. Однако, как утверждают графические компании, в двуядерных GPU нет ничего нового. Благодаря широкому использованию параллелизма в дизайне, многоядерный принцип используется графическими компаниями уже много лет.
“Мы производим многоядерные процессоры уже пять или шесть лет, с тех пор, как мы анонсировали несколько вершинных блоков или пиксельных конвейеров, – сказал Хадди из ATi. – Если сделаете рентгеновский снимок чипа, то увидите четыре четвёрки конвейеров в нашем процессоре, причём физически они разделены”.
По информации Триантоса из nVidia, графические процессоры исторически используют параллелизм намного более широко, чем CPU. “К примеру, GeForce 6800 оснащена 16 параллельными конвейерами, в то время как процессоры x86 могут добраться лишь до четырёх ядер в ближайшие несколько лет, – сказал он. – Дело в том, что графическая нагрузка очень хорошо распараллеливается, поэтому преимущество от нескольких ядер сразу же заметно”.
Проблемы
Большие преимущества, которые нам следует ощутить в играх на многоядерных процессорах, пока ещё не ощутимы – они всё ещё находятся в абстракции. В то же время, перед программистами возникли новые задачи и препятствия, которые надо преодолеть, чтобы раскрыть потенциал многоядерных вычислений. И это далеко не просто.
“Проблемы серьёзные, поскольку программисты должны быть очень осторожными при выборе того, какие потоки разумно запускать на многоядерных процессорах, а какие – нет”, – пояснил Рейн из Epic Games.
Переход от одноядерных к дву- или многоядерными процессорам поднимает целый ворох проблем, вроде конфликтующих потоков или циклов, которые могут потенциально “повесить” игру. “Следует перебрать движок и выделить те вычисления, которые могут выполняться сами по себе, затем синхронизировать их с другими – вместо предыдущей парадигмы мышления: сделаем один большой цикл, и он будет работать, – сказал Ким Паллистер (Kim Pallister), инженер Intel. – Поскольку потоки могут запускаться в разном порядке – к примеру, поток A закончит работу раньше потока B – вам нужно писать действительно надёжный код, чтобы игра не “вылетела”. В принципе, подобный подход сам по себе очень хорош”.
Как считает Паллистер, эпоха хакеров закончена. “Теперь уже нельзя создать классную демонстрацию, запихать её в коробку и продавать”, – сказал он.
Даже если программист и сможет использовать всю мощь двуядерного дизайна, вряд ли стоит ожидать 100% прироста производительности, особенно в первое время.
“Если вы перейдёте на два ядра Intel, то не получите 2x улучшения – хотя о 30% говорить можно. А если перейти на четыре ядра, то они дадут прирост всего в 5-10%, – сказал Триантос из nVidia. – Мы и впредь будем создавать всё более быстрые графические карты, которые дадут двукратный прирост производительности, но в играх 2x мы не получим. Однако с появлением многоядерных CPU мы, наконец-то, получим машины, процессор которых будет сбалансирован с растущей производительностью графики”.
Почему приставки будут работать так же хорошо?
Игры будут работать на многоядерной приставке Playstation 3 ничуть не хуже, чем на двуядерной платформе ПК.
Когда Intel несколько лет назад анонсировала Hyper-Threading, игровые разработчики получили возможность использовать плюсы многопоточности на одноядерном процессоре, но он был ограничен платформой Intel. После того, как Intel и AMD вышли с двуядерными процессорами, программисты ожидают, что рано или поздно все ПК станут двуядерными.
Кроме того, выход новых Xbox и PlayStation 3 с многоядерными процессорами создаст огромный рынок для игровых разработчиков.
“В новом поколении игр многие из них будут кроссплатформенными, то есть предназначаться для ПК и приставок. Для разработчиков игр наиболее выгодно выпускать как можно большее количество продуктов, – сказал Паллистер из Intel. – После выхода следующего поколения приставок, которые будут использовать многоядерные процессоры, игровым разработчикам придётся создавать конкурентоспособные продукты, которые должны выглядеть лучше других. А, значит, придётся переходить на многопоточность для всех платформ. Так что стимул велик”.
Геймеры на ПК знакомы с разочарованием портированных версий игр с PlayStation или Xbox, которые сделаны практически под копирку. Вспомним последний релиз Grand Theft Auto: San Andreas для ПК. Существует шанс, что игры, написанные для многоядерных приставок, станут лучше смотреться и на ПК.
“Следующее поколение приставок (PlayStation 3 и Xbox 360) будет использовать многоядерные процессоры, обладая большей мощностью CPU и графики. Обе системы существенно более мощные, чем самый дорогой ПК, который вы можете собрать сегодня, – сказал Рейн из Epic Games. – Поэтому, когда разработчики будут создавать игры для новых окружений, они смогут использовать возможности новых систем. Теперь, к примеру, вместо одного аппаратного потока на Xbox они смогут выполнять два или, возможно, четыре аппаратных потока”.
Заключение
Насколько реальным станет Unreal?
В то время, как вы читаете эту статью, команда игровых разработчиков где-нибудь в Китае, США, России или Европе создаёт новую игру. Эти разработчики надеются, что в один прекрасный день они смогут использовать потенциал многоядерных CPU, которые будут работать вместе с лучшими графическими картами от ATi и nVidia, ждущими своего появления на свет.
Но ещё предстоит увидеть, смогут ли дву- и многоядерные системы открыть новую эпоху в играх на ПК уже в этом году (как обещают производители), или подобный рывок не следует ожидать в ближайшие пару лет (как подсказывает интуиция). Пока что производители просто закармливают нас обещаниями высокой скорости. Но нам ещё предстоит удивиться, огорчиться или удовлетвориться тому приросту, который даст двуядерная платформа с графической картой следующего поколения. Всё впереди.