ХайТекСити
Категории каталога
Игры [48]
Устройства [9]
Софт [23]
Гаджеты [10]
Технологии [19]
Моддинг [4]
Защита [6]
Наука и техника [10]
Мобильные устройства [26]
Система [17]
Связь [13]
HTML [16]
Интернет [30]
SSI [4]
XHTML [3]
Компьютерная периферия [6]
Хранение данных [3]
Корпуса [1]
Система охлаждения [1]
Разное [24]
Компьютерная жизнь [2]
Железо [65]
WEB-программирование [20]
Программирование [2]
2D графика [37]
3D графика [10]
Операционные системы [6]
Форма входа
Поиск
Статистика
Rambler's Top100

page counter
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Среда, 2024-05-22, 03:43:27
Приветствую Гость Гость | RSS
Главная | Регистрация | Вход
ХайТекСити
Главная » ХайТекСити » Разное

КРИ 2007: Intel для разработчиков игр

Введение

В начале апреля в Москве в гостинице "Космос" прошла КРИ 2007. Это грандиозное событие собрало многих любителей игр и их разработчиков. Развлекательная и ознакомительная часть конференции проходила на стендах разработчиков игр, компаний-издателей.

Кроме всего прочего на этом мероприятии проводились семинары по основным направлениям разработки компьютерных игр: управление проектами, гейм-дизайн, программирование и так далее.

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

Однако, что касается технических семинаров, то тут у Intel всё в порядке - во второй день конференции компания полностью оккупировала пусть и небольшой, но всё же, зал "Юпитер". В нём с самого утра проходили семинары. Всего их было шесть и о каждом из них мы попытаемся рассказать подробно, насколько это возможно.

Стенд Intel

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

Первое приложение Destroy the Castle демонстрировало, какие выгоды можно извлечь из оптимизации алгоритмов и распараллеливания обработки каждого кадра игры с помощью библиотеки Intel Threading Building Blocks. В этой игре предлагалось стрелять из пушки ядрами по каменному замку, при этом вокруг по пространству бегали некоторые существа (только для того, чтобы показать работу AI). Замок является полностью разрушаемым объектом, при попадании ядер образуется огромное количество частиц. Более подробно о данном приложении и применённых подходах к оптимизации его было рассказано на одном из технических семинаров.

Второе приложение было специально разработано для Intel и оптимизировано под микро-архитектуру Core и многопоточность известным разработчиком игровых тестов, компанией Futuremark.

Кроме того, на стенде предлагалось зарегистрироваться в Intel Software Network для получения новостей о деятельности компании в области разработки программного обеспечения.

Архитектура микропроцессоров Intel Core 2 Duo. С этого места подробнее

Докладчики: Максим Перминов, Вадим Сухомлинов.

Этот семинар был призван ознакомить разработчиков с особенностями микро-архитектуры Core, которые так или иначе можно было бы задействовать при разработке игр. Кроме того, упоминались некоторые планы Intel на будущее, особенности проектов с кодовыми именами Penryn и Nehalem.

Что касается микро-архитектуры Core, то здесь не было никаких сюрпризов - она была подробно изложена нами в репортажах с весеннего IDF в прошлом году. На семинаре был подробно рассмотрен процесс обработки инструкций конвейером. На слайде изображена упрощённая схема конвейера.

Intel на КРИ


Нажмите на картинку для увеличения.

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

Вся информация была подчёркнута примерами написания оптимального кода программ на ассемблере.

Intel на КРИ


Нажмите на картинку для увеличения.

Далее вниманию посетителей семинара была предложена некоторая информация о дополнениях в наборе команд SSE 4 в грядущих процессорах Penryn и Nehalem. Напомним, что производство процессоров Penryn Intel планирует начать во второй половине текущего года, а процессоров Nehalem - в первой половине 2008 года. Многие новшества данных проектов определяются более тонкой технологией изготовления (45 нм) и применением материалов с высокой диэлектрической проницаемостью, металлических затворов. Кроме того, будут внесены некоторые улучшения в технологию виртуализации, а в архитектуре Nehalem инженеры Intel обещают внести существенные микро-архитектурные улучшения.

Итак, вернёмся к обсуждавшейся на КРИ теме, а именно к новому, обновлённому расширению системы команд потоковой обработки SSE 4.1. Это расширение впервые появится в семействе Penryn. Позже в Nehalem будет реализовано SSE 4.2, но об этом на семинаре упомянули вскользь, не раскрывая конкретных особенностей.

Intel на КРИ


Нажмите на картинку для увеличения.

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

Intel на КРИ


Нажмите на картинку для увеличения.

Докладчики подробно рассказали о особо примечательных новых инструкциях, проиллюстрировали их работу, преимущества, которые они несут в себе для обработки мультимедиа-данных.

Intel на КРИ


Нажмите на картинку для увеличения.

Intel на КРИ


Нажмите на картинку для увеличения.

Всё также было рассмотрено на примерах. Довольно интересны были примеры кодов, реализующих одну цель, но в первом случае с помощью набора инструкций SSE 3, а во втором - с помощью SSE 4.1.

Intel на КРИ


Нажмите на картинку для увеличения.

Конечно, жизнь программиста упрощается, ведь код становится короче. Однако интересно, насколько с каждым новым набором инструкций становится сложнее устройство блоков предекодирования и декодирования команд?

Поддержка нового набора инструкций уже реализована в некоторых инструментальных средствах разработки, таких как Intel SSE 4.1 emulator и Intel SSE 4.1 compiler (бета-версия Q1 '07).

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

Многоядерность для многоигровости и многоигровость для многоядернсоти

Докладчик: Виктория Жислина.

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

Основной целью доклада было пояснить, какие преимущества несёт развитие многоядерности для разработки игр. Информация носила общий характер, поэтому воспринималась легко. Этому также способствовала и докладчик, Виктория Жислина, старший инженер по приложениям Intel, - манера проведения доклада настраивала на некоторую простоту.

В докладе были приведены некоторые цифры, позволявшие оценить прирост производительности от наращивания количества вычислительных ядер на кристалле. На слайде ниже видно во сколько раз по сравнению с Pentium 4 EE 3,73 выросла производительность в разных приложениях.

Intel на КРИ


Нажмите на картинку для увеличения.

Было отмечено, что несмотря на все теоретические блага, которые несёт в себе многоядерность, полностью использовать мощь нескольких ядер довольно сложно - игры нужно грамотно распараллеливать, при этом количество потоков и их вычислительные потребности должны быть сбалансированы. На практике линейное приращение производительности в играх с увеличением количества ядер является скорее утопией, приближение к которой является задачей программистов. На слайде ниже видны приращения производительности от увеличения количества ядер в некоторых ресурсоёмких играх на эталонном стенде Intel (QX6700 2,67 ГГц, GPU nVidia 8800 GTX, 2 Гбайт памяти).

Intel на КРИ


Нажмите на картинку для увеличения.

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

Intel на КРИ


Нажмите на картинку для увеличения.

Как можно видеть, в Crysis, Black&White 2, World in Conflict в отдельных потоках обрабатывается физика и искусственный интеллект с рендерингом. В Quake4, GRAW2, Maelstrom, наоборот, в отдельный поток запущен рендеринг.

В данном семинаре принял участие также один из разработчиков игры "Морской Охотник" ("Акелла"). На примере этой игры были рассмотрены процесс оптимальной организации потоков при обработке каждого кадра игры, проблемы, возникающие при этом, и пути их решения. Ниже приведены два слайда: первый отражает начальный этап процесса распараллеливания и его результаты, а второй - что получилось в итоге.

Intel на КРИ


Нажмите на картинку для увеличения.

Intel на КРИ


Нажмите на картинку для увеличения.

Далее доклад продолжала Виктория. Было продемонстрировано довольно большое количество комичных слайдов, которые показывали, какие преимущества в итоге на практике можно извлечь из многопоточности в играх. Этот этап доклада изрядно поднял всем присутствующим настроение.

Многоядерность для многоигровости и многоигровость для многоядернсоти
Персонажа ударило током,..


Многоядерность для многоигровости и многоигровость для многоядернсоти
...так он упал на стул в классическом случае, при котором не используются все вычислительные мощности многоядерных платформ.


Многоядерность для многоигровости и многоигровость для многоядернсоти
А вот так он может падать, если использовать все преимущества нескольких ядер.

Таким образом, в резюме было сказано, что в дальнейшем Intel продолжит увеличивать количество ядер на кристалле, а к 2008 году четырёхядреные решения обоснуются в mainstream-нише.

Оптимизация и параллелизация современной 3D игры при помощи инструментов Intel

Докладчики: Анатолий Любимов, Валерий Провалов.

Отдельное подразделение Intel занимается разработкой программного обеспечения, которое помогает программистам в их нелёгком труде. Кроме того, всё программное обеспечение "заточено" под микро-архитектуру процессоров Intel, поэтому итоговые продукты оптимизированы соответствующим образом.

На семинаре было последовательно рассказано о том, как создаётся многопоточное приложение при помощи инструментов Intel. Были продемонстрированы многочисленные слайды с примерами и скриншотами - всё было "разжёвано" до мелочей.

Использование Intel Threading Building Blocks для разработки многопоточных игр

Докладчик: Антон Пегушин, Дмитрий Ерёмин.

Этот семинар был посвящён очень интересному продукту Intel, который вносит некоторые нововведения в многопоточное программирование. Это библиотека Intel Treading Building Blocks (далее Intel TBB) - библиотека С++ шаблонных классов (аналог STL). Докладчики рассказывали о принципах и особенностях библиотеки, иллюстрируя всё примерами реализации отдельных моментов в коде.

Использование Intel Threading Building Blocks для разработки многопоточных игр

Библиотека заставляет программиста мыслить не потоками, а задачами. Это и то, как реализована работа с задачами в самой библиотеке, даёт довольно ощутимые преимущества по сравнению с обычным многопоточным программированием. Во-первых, исчезает проблема избыточной либо недостаточной загрузки CPU. Во-вторых, создание и удаление объекта "задача" в Intel TBB обходится намного дешевле, чем создание/удаление потока. Это преимущество обусловлено внутренними механизмами библиотеки. В-третьих, библиотека содержит свой собственный планировщик задач, работающий по своим алгоритмам, обеспечивающим оптимальное выполнение вычислительного процесса.

Распределение памяти, применяемое в библиотеке, решает проблемы масштабируемости. Также библиотека содержит потокобезопасные контейнеры, и примитивы низкоуровневой синхронизации (поддерживает атомарные операции, содержит мьютексы).

Intel на КРИ


Нажмите на картинку для увеличения.

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

Использование библиотеки описано на примере разработки игры Destroy the Castle, которая упоминалась нами выше. Сначала докладчики продемонстрировали вариант программирования с помощью системных потоков и полученные при этом результаты.

Intel на КРИ


Нажмите на картинку для увеличения.

Затем был продемонстрирован вариант разработки с помощью Intel TBB, представленные результаты оказались значительно лучше.

Intel на КРИ


Нажмите на картинку для увеличения.

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

Сейчас доступна пробная версия библиотеки. Финальная версия будет поставляться на платной основе.

Игры на ноутбуке? На ультрамобильном ПК? Возьмите с собой Intel Laptop Gaming TDK

Докладчик: Александр Лазарев.

Опять же после довольно сложного технического семинара по Intel TBB народ поутомился и потянулся к выходу. Возможно, мало кто просто представлял то, о чём должны были поведать на следующем семинаре. Действительно, набор Intel Laptop Gaming Technology Development Kit не так известен среди разработчиков игр. В итоге в аудитории осталось пара человек и ещё несколько подошло по ходу семинара. Надо отдать должное докладчику - несмотря ни на что, он рассказал всё в полном объёме, не смутившись такого "аншлага". Поэтому семинар, в общем-то, напоминал больше не лекцию, а дружескую беседу с докладчиком - никаких микрофонов и демонстрация слайдов не на проекторе, а на обычном ноутбуке.

Игры на ноутбуке? На ультрамобильном ПК? Возьмите с собой Intel Laptop Gaming TDK

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

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

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

Для решения этих проблем Intel предлагает своё решение - средство разработки Intel Laptop Gaming Technology Development Kit (далее Intel Laptop Gaming TDK).

Что же представляет собой средство разработки Intel Laptop Gaming TDK? Прежде всего, это инструмент, при помощи которого разработчики игр могут получить доступ к возможностям мобильных платформ Intel и управлять ими. Intel Laptop Gaming TDK содержит набор простых и высокопроизводительных интерфейсов и библиотек, которые могут быть использованы в играх с минимальными расходами (или совсем без них).

Сам доклад был построен удачно и разделён на две части. Сначала были представлены весьма интересные данные о энергопотреблении современных платформ Intel и их компонентов, о влиянии тех или иных факторов на энергопотребление. Так, например, вниманию присутствующих были представлены графики влияния разрешения, на котором вы играете, на общее энергопотребление системы, влияние качества видеокартинки и частоты кадров. Тесты проводились как в Windows XP, так и в Windows Vista.

Intel на КРИ


Нажмите на картинку для увеличения.

Intel на КРИ


Нажмите на картинку для увеличения.

Intel на КРИ


Нажмите на картинку для увеличения.

Intel на КРИ


Нажмите на картинку для увеличения.

На слайдах "Игра А" - шутер от первого лица с неограниченной частотой кадров, "Игра Б" - шутер от первого лица с ограниченной частотой кадров (fps=60), "Игра В" - стратегия реального времени.

Вторая часть доклада повествовала о том, как можно использовать Intel Laptop Gaming TDK. Данное средство разработки содержит ряд запросов, которые могут сообщить состояние вашей системы. С их помощью вы можете узнать большую часть параметров мобильных систем, необходимых при разработке игр: состояние питания, сетевых подключений, характеристики процессора используемой мобильной платформы. Также средство предлагает широкий набор событий, обработчики на которые вы можете организовать: смену источника питания, изменение уровня беспроводного сигнала, смену частоты процессора, изменение пропускной способности и так далее.

На основании данных, предоставляемых Intel Laptop Gaming TDK, в играх можно показывать состояние системы, изменять их "поведение" при изменении состояния (уменьшать характеристики видео, сохранять состояние, уменьшать трафик сети).

Конечно же, были приведены примеры игр, использующих подобные технологии.

Intel на КРИ


Нажмите на картинку для увеличения.

Intel на КРИ


Нажмите на картинку для увеличения.

Жаль, что посетители семинара были немногочисленны - тема очень интересная и, судя по всему, становится довольно актуальной.

Интегированная графика от Intel - продолжение следует

Докладчик: Виктория Жислина.

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

Прежде всего, целью доклада было освещение некоторых планов Intel на недалёкое будущее в сфере интегрированной графики.

Intel на КРИ


Нажмите на картинку для увеличения.

Конечно, были хорошо освещены существующие решения - чипсеты Intel 945G и G965 Express с встроенным графическим ядром (GMA950 и GMA3000, соответственно). Докладчик рассказал об основных особенностях и технологиях применяемых в интегрированной графике этих чипсетов.

Подробнее докладчик остановился на графике GMA3000. В данном решении разработчики удачно сбалансировали фиксированные функции конвейера и программируемые.

В GMA3000 заявлена аппаратная поддержка Shader Model 3.0 и HDR, но как нам разъяснили, к сожалению, она пока есть только на программном уровне. Видимо у Intel есть какие-то проблемы с реализацией работы аппаратной поддержки в драйвере. Однако, присутствующих заверили, что это временная проблема.

Intel на КРИ


Нажмите на картинку для увеличения.

По поводу планов, несмотря на название семинара, было сказано не так много, как хотелось бы. На слайде выше видно, что в 2008 году планируется добавить в интегрированную графику Intel аппаратную поддержку Shader Model 4 и DirectX 10. В общем семинар повествовал о возможностях существующих решений.

Заключение

Мероприятия масштаба КРИ являются довольно полезными для разработчиков, в немалой степени благодаря многочисленным семинарам. Эти семинары направлены на то, чтобы ознакомить программистов и интересующихся посетителей с передовыми идеями, поделиться опытом.

В этом году Intel на КРИ не "блистала" своим стендом, однако уровень семинаров и докладов был должным. Вообще последовательность семинаров была выбрана довольно грамотно: семинары чередовались по сложности восприятия, а общая картина оставляла ощущение последовательного изложения. Отдельно хочется отметить доклады по Intel TBB и Intel Laptop Gaming TDK - они, на наш взгляд, были наиболее информативными и предоставили слушателям много интересной и полезной информации.



Источник: http://www.thg.ru
Категория: Разное | Добавил: KroX (2007-05-01) | Автор: Олег Кошкин,
Просмотров: 625 | Рейтинг: 0.0/0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Copyright OURWORLD © 2024
Сайт управляется системой uCoz